【发布时间】:2017-06-06 20:46:25
【问题描述】:
我的情况是,我有一组源代码受控的 c# 文件。我下载它,我在命令行中使用此命令构建解决方案文件。
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" MyProj.sln /property:Platform=x64
但是当我这样做时,CoreCompile 会被跳过,说“跳过目标“CoreCompile”,因为所有输出文件相对于输入文件都是最新的。”问题是,它生成的 dll 不包含 .cs 文件中的许多更改。
当我在 .cs 文件中做一个小改动(例如,放置一个日志)时,它构建得很好,并且生成的 dll 包含所有更改。
但是,构建 32 位版本时没有跳过 CoreCompile 第一次本身。 (相同的命令,但带有/property:Platform=x86)
我无法理解这种行为。请帮忙。谢谢。
【问题讨论】:
-
请注意,.net 框架中包含的 msbuild 版本(版本 4.*)相当旧。新版本是 VS 的一部分,也可以使用 Build Tools 安装程序获得