我正在使用使用msbuild.exe
的批处理脚本构建一个项目。我执行了两个构建:一个manual
一个,一个automated
一个。
manual
生成的结果是以下文件夹结构:
+ project
+ obj
+ Debug
+ Release
同时在automated
构建中:
+ project
+ obj
+ Release
谁能解释一下他们是如何得到这种差异的?我怀疑nuget restoration
是造成这种情况的罪魁祸首,但我没有证据证明这一点或其他东西。
正如 @vasily.sib 所建议的那样,这只是脚本内容:
cd msbuild_path
msbuild.exe project_pathproject.sln /t:Clean;Build /p:Configuration=Release;Platform="Any CPU"
我不知道将来是否有人会遇到同样的问题。我发现答案很简单:
如此处所述,obj
文件夹是在编译期间创建的。我意识到,从我打开Visual Studio以在manual
版本中还原NuGet package
的时间Debug
也是创建文件夹的时间。automated
版本通过脚本还原NuGet package
,因此不需要打开 Visual Studio。