2010-05-19 74 views
2

我已经升级了使用MSBuild 4.0的解决方案。它编译,但我收到很多警告,例如:解决MSBuild 4.0警告

 
"T:\projects\Castle.Core\buildscripts\Build.proj" (Package target) (1) -> 
"T:\projects\Castle.Core\Castle.Core-vs2008.sln" (Build target) (2:2) -> 
"T:\projects\Castle.Core\src\Castle.DynamicProxy.Tests\Castle.DynamicProxy.Tests-vs2008.csproj" (default target) (3:2) -> 
    D:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(847,9): warning MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.0.30319" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. [T:\projects\Castle.Core\src\Castle.DynamicProxy.Tests\Castle.DynamicProxy.Tests-vs2008.csproj] 

如何解决这些警告?它与.NET 4.0 Multitargeting包或SDK有关,但没有用于.NET 4.0的SDK AFAIK和Multi-Target包不能分开安装。

任何想法,将不胜感激。

回答

0

您是否试过在打开诊断级别调试('/ v:diag')的MSBuild中查看'ResolveAssemblyReferences'任务的输出。这应该告诉你构建过程正在搜索哪些目录以查找dll。尽管如果构建过程找不到它,我有点惊讶IDE没有在项目中显示该引用的问题。

There is a .Net Framework SDK,但它也是Windows SDK的一部分。 VS2010附带的版本是7.0A,最新版本是7.1。如果您已经分别安装了一个或两个安装程序,可能会有安装程序引入的路径/引用冲突。

0

Apparently a known issue.

你安装.NET 4客户端配置文件或全部?

+0

是的,已经看到,希望有解决方法或什么的。 – 2010-05-19 12:41:09

+0

问题是,即使在安装了VS2010 Professional的机器上,我也会收到警告。 – 2010-05-19 12:52:05