如何摆脱msbuild警告MSB3644

在未安装SDK的计算机上构建Web项目时,会出现以下警告:

警告MSB3644:找不到框架“.NETFramework,Version = v4.0”的引用程序集。 要解决此问题,请为此框架版本安装SDK或Targeting Pack,或将您的应用程序重定向到您安装了SDK或Targeting Pack的框架版本。 请注意,程序集将从全局程序集缓存(GAC)中解析出来,并将用于代替引用程序集。 因此,您的程序集可能无法正确定位您想要的框架。

显然,摆脱警告的一种方法是安装SDK。 但是,在这种情况下,我只是想从构建输出中取消这个警告(这几乎是无害的),而不用以任何其他方式改变机器的状态。

我尝试通过/ p:NoWarn = 3644到msbuild(基于其他职位,如我可以如何抑制从命令行msbuild所有编译器和代码分析警告?),但没有影响。


NoWarn适用于由CscVbc任务引发的编译警告。

MSB *警告是核心MSBuild警告。 要抑制MSB3644警告,请传递一个明确的TargetFrameworkMoniker

msbuild your.csproj /t:Rebuild /p:TargetFrameworkMoniker=".NETFramework,Version=v4.0"

可以在这里找到可能的输入列表。

v1.1.4322
v2.0.50727
Client
v4.0
v4.0.30319
.NET Framework, Version=v4.0, Profile=Client
.NET Framework, Version=v4.0
.NET Framework, Version=v4.0.1, Profile=Client
.NET Framework, Version=v4.0.1
.NET Framework, Version=v4.0.2, Profile=Client
.NET Framework, Version=v4.0.2
.NET Framework, Version=v4.0.3, Profile=Client
.NET Framework, Version=v4.0.3
.NET Framework, Version=v4.5

在MSBuild 4.5中,有一个新的标志 - IgnoreVersionForFrameworkReferences ,它可能在这些警告中很有用。

链接地址: http://www.djcxy.com/p/10637.html

上一篇: How to get rid of msbuild warning MSB3644

下一篇: slow write/save performance?