Dav*_*bbo 7 .net msbuild .net-4.0 msbuild-4.0
在没有安装SDK的计算机上构建Web项目时,会收到以下警告:
警告MSB3644:找不到框架".NETFramework,Version = v4.0"的引用程序集.要解决此问题,请为此框架版本安装SDK或Targeting Pack,或者将应用程序重新定位到已安装SDK或Targeting Pack的框架版本.请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于代替引用程序集.因此,您的程序集可能无法正确定位到您想要的框架.
显然,摆脱警告的一种方法是安装SDK.但是,在这种情况下,我只是想从构建输出中抑制此警告(这几乎是无害的),而不以任何其他方式更改机器的状态.
我尝试将/ p:NoWarn = 3644传递给msbuild(基于其他帖子,比如如何在命令行中抑制来自msbuild的所有编译器和代码分析警告?),但这没有任何影响.
NoWarn适用于Csc和Vbc任务抛出的编译警告。
MSB* 警告是核心 MSBuild 警告。要抑制 MSB3644 警告,请传递显式的TargetFrameworkMoniker:
msbuild your.csproj /t:Rebuild /p:TargetFrameworkMoniker=".NETFramework,Version=v4.0"
Run Code Online (Sandbox Code Playgroud)
可以在此处找到可能输入的列表。
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
Run Code Online (Sandbox Code Playgroud)
在 MSBuild 4.5 中,有一个新标志 -IgnoreVersionForFrameworkReferences对于这些警告可能会派上用场。
| 归档时间: |
|
| 查看次数: |
10443 次 |
| 最近记录: |