I have a C# project, named 'X',
I modified the X.csproj file, and changed <OutputType>Library</OutputType>
to <OutputType>Module</OutputType>
This means I am now outputting .netmodule files instead of .dll files, which is cool, I can use the netmodules as inputs to C++/CLI projects.
But, Visual Studio insists on recompiling the project on every build, and when I turn build output verbosity to 'diagnostic', I see this line in the output:
Project 'X' is not up to date. Missing output file 'C:...\X\bin\Debug\X.exe'.
The problem, of course, is that the compiler is outputting X.netmodule, and not X.exe, so X.exe will never be found, and hence my project is recompiling on every build. What is worse, if I run msbuild from the command line on the csproj, the correct behavior occurs, that is it only rebuilds when files within the project have changed.
This leads me to believe that VS2015 [or others], is computing the final output name incorrectly because I have specified Module for <OutputType>
, and that it is VS2015 forcing the re-build, not Msbuild.
I know modifying the <OutputType>
of the .csproj is non-standard, and not supported, but it seems this method is being using by others a bit, and it would seem this would be a known issue, possibly with a work-around.
Thanks in advance.