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
在脚本中指定配置详细信息,那么您可能会向我们展示此批处理脚本,因此我们将有一个对象要处理?