cwensley / Portable.Xaml

Portable .NET library for reading/writing xaml files.
Other
157 stars 39 forks source link

Don't set BaseIntermediateOutputPath. #115

Closed grokys closed 5 years ago

grokys commented 6 years ago

I use ncrunch for running tests, but the use of BaseIntermediateOutputPath in Directory.Build.props is causing a problem there. See:

https://forum.ncrunch.net/yaf_postsm12722_project-assets-json--not-found--Run-a-NuGet-package-restore-to-generate-this-file.aspx#post12722

Would there be another way to do this that wouldn't break ncrunch?

cm4ker commented 6 years ago

I have read docs.

BaseIntermediateOutputPath The top-level folder where all configuration-specific intermediate output folders are created. The default value is obj. The following code is an example: c:\xyz\obj\
IntermediateOutputPath The full intermediate output path as derived from BaseIntermediateOutputPath, if no path is specified. For example, \obj\debug. If this property is overridden, then setting BaseIntermediateOutputPath has no effect.

May we can use the IntermediateOutputPath for every project? As I understand the main problem is a that ncrunch try to using BaseIntermediateOutputPath (this is as default is \obj\debug for ex) and not found files.

cwensley commented 6 years ago

Hm, setting the IntermediateOutputPath will require it to set it for the configuration selected.. not a huge problem, but well, not really required.

I'm not sure why NCrunch can't deal with this.. the path is project-specific even if it isn't set (as it's based on where the .csproj is).

cwensley commented 6 years ago

Also, in reading more info here, using IntermediateOutputPath might cause the same issue as the output of the intermediates will be in a different location. It'd be worth trying though.

I wouldn't think having all the obj folders in the various projects will be doable, as it causes conflicts with using multiple .csproj files in a single folder. This is because they would all share the same obj/ folder for all .csproj's, which is one of the reasons for this being defined (but not the only).

cwensley commented 5 years ago

Looks like the NCrunch team may have figured it out. Give it a try.

Otherwise, the only options for us to resolve this is to use multi-targeting (which does not work in VS for Mac), or move the multiple .csproj's into their own folders and link to the source files or perhaps use a shared project.

I personally would rather not move things around as it makes it a severe hassle to deal with, and would rather wait for multi-targeting support in VS for Mac.

cwensley commented 5 years ago

Closing as this is an issue with how NCrunch works and would be painful to do with multiple projects. It appears it was fixed in NCrunch but is not verified.