C# 为什么生成后会有这个obj\Debug\TempPE文件夹?[肯定不是重复的]
我正在使用批处理脚本生成一个项目,该批处理脚本使用C# 为什么生成后会有这个obj\Debug\TempPE文件夹?[肯定不是重复的],c#,build,C#,Build,我正在使用批处理脚本生成一个项目,该批处理脚本使用msbuild.exe。我执行了两个构建:手动构建和自动构建 手册生成导致此文件夹结构: + project + obj + Debug + Release 同时,在自动构建中: + project + obj + Release 谁能解释一下他们是如何得到这种差异的?我怀疑nuget restoration是罪魁祸首,但我没有证据证明这一点 正如@vasily.sib所建议的,
msbuild.exe
。我执行了两个构建:手动构建和自动构建
手册
生成导致此文件夹结构:
+ project
+ obj
+ Debug
+ Release
同时,在自动构建中:
+ project
+ obj
+ Release
谁能解释一下他们是如何得到这种差异的?我怀疑nuget restoration是罪魁祸首,但我没有证据证明这一点
正如@vasily.sib所建议的,这只是脚本内容:
cd msbuild_path
msbuild.exe project_path\project.sln /t:Clean;Build /p:Configuration=Release;Platform="Any CPU"
我不知道将来是否有人会有同样的问题。我发现答案很简单:
如上所述,obj
文件夹是在编译期间创建的。我意识到,从我在手册
构建中打开我的Visual Studio以还原我的NuGet包
时起,也是创建Debug
文件夹的时候。automated
build通过脚本还原NuGet包
,因此它不需要打开Visual Studio。我想这是因为automated
build仅使用Release
配置进行构建。但你为什么在乎?@vasily.sib我为什么在乎?有人在检查和比较我的构建结果,我需要解释为什么会发生这种情况,正如我在上面所说的,我使用的脚本使用的是msbuild.exe
,此外,我通过/p:configuration=Release
在脚本中指定配置详细信息,那么您可能会向我们展示此批处理脚本,因此我们将有一个对象要处理?