当我有一个C#控制台应用程序foo
时,我用
msbuild /p:Configuration=Debug /p:Platform="Any CPU"
有时,生成的可执行文件是
bin\Any CPU\Debug\net7.0\foo.exe"
有时候
bin\Debug\net7.0\foo.exe
为什么?
注:
-
任何项目文件中都没有
OutputPath
元素. -
我不是问如何改变这种行为,而是为什么它现在是这样的.
当我有一个C#控制台应用程序foo
时,我用
msbuild /p:Configuration=Debug /p:Platform="Any CPU"
有时,生成的可执行文件是
bin\Any CPU\Debug\net7.0\foo.exe"
有时候
bin\Debug\net7.0\foo.exe
为什么?
注:
任何项目文件中都没有OutputPath
元素.
我不是问如何改变这种行为,而是为什么它现在是这样的.
感谢鲁弗爵士的https://github.com/dotnet/sdk/issues/.sln
88英镑,这被证明是答案的线索:这取决于MSBuild是从.sln
还是.csproj
文件工作.如果存在,则默认为前者,这意味着它会为两个文件位于同一目录的单项目解决方案生成不同的结果,而不是多项目解决方案.