Exporters: [Max][C#] Temporary output directory copies all files from max output directory

Created on 21 Sep 2018  路  12Comments  路  Source: BabylonJS/Exporters

The output directory 3ds Max\assemblies\2015 - 2016 contains all files from my 3dsmax directory, not just the files created by the project. It seems a bit impractical, is this on purpose?

All 12 comments

Hi @Selmar . Is your 3ds Max active project set to that directory or a different location?

The 3dsmax active project directory is set to a completely different directory.

The C# project's OutDir (==TargetDir) is set to C:\Program Files\Autodesk\3ds Max 2016\bin\assemblies\, as is the default

the post build process simply copies all dlls instead of just the ones generated by the project:
copy "$(TargetDir)*.dll" "$(SolutionDir)assemblies\2015 - 2016\"

I imagine it's the same for the other max versions.

Even if you use that directory as the 3ds max plugin directory it wouldn't work well, because only the .dll files are there after this process anyway. This problem has nothing to do with 3dsmax, it's just a minor issue with copying the output files to our shared tools folders.

@Selmar gotcha, thanks for the insight! This is indeed an issue with the exporter. I'll work on a fix for this.

@Selmar is your output path set to bin\Debug in Visual Studio solution? (Select the project, go to properties, and select the build tab to check the Output path: value)
image

image

When I build, I only see the generated dlls in $(SolutionDir)assemblies\2015 - 2016\ from the build:
image

Is it different on your set up?

Yes, as I said, the out directory is set to the 3dsmax application's assemblies directory (C:\Program Files\Autodesk\3ds Max 2016\bin\assemblies). These are the default settings I have with the project (which makes sense when you're modifying the code and testing a new version).

I suggest we modify the post-build processes in the project to output the files in the repository's \3ds Max\assemblies\2015 - 2016 first and then copy to C:\Program Files\Autodesk\3ds Max 2016\bin\assemblies instead of vice-versa.

@Selmar, I see, so your OutDir is set to C:\Program Files\Autodesk\3ds Max 2016\bin\assemblies\ by default, whereas mine is set to bin\Debug\ by default. This could be a discrepancy between plugin versions. Did you try against the latest plugin (1.3.0)?

Closing for now. Please reopen of needed

I'm sorry, I haven't had time to do this yet. I will check it when I get around to it.

@Selmar I think I am able to repro the issue you are hitting now. I switched my VS project from Debug to Release, and see the behavior you mentioned. I will look into a fix for this.

It happened several times before that the different configurations diverged. Usually when changes are made people forget the other configurations. :P

Right now there are more than is necessary (I think visual studio creates some defaults every time you add a project). I think all we need is the x64 builds (debug/release) and one x86 (any, to be able to view the forms inside visual studio, which requires an x86 build for some reason).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

kutomer picture kutomer  路  6Comments

echadwick-wayfair picture echadwick-wayfair  路  4Comments

qualmon picture qualmon  路  6Comments

echadwick-wayfair picture echadwick-wayfair  路  5Comments

jsellam picture jsellam  路  7Comments