将VS 2008(c#)解决方案转换为VS 2010后出现错误/警告

Gar*_*mus 5 .net c# msbuild visual-studio-2010 visual-studio

我们有一个包含58个项目的Visual Studio 2008解决方案.一个项目针对3.5运行时,而另一个项目针对3.0.该解决方案在Visual Studio 2008中构建良好.我在Visual Studio 2010中打开解决方案并继续执行升级项目向导.出现提示时,我拒绝定位4.0运行时并坚持使用当前选定的运行时.转换完成且没有错误.

在尝试构建时,我收到了大量以下两个警告:

"无法解析主要引用[AssemblyX],因为它与.NET Framework程序集"CrystalDecisions.Enterprise.Framework,Version = 11.5.3300.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304"具有间接依赖关系,其具有更高版本" 11.5.3300.0"比当前目标框架中的版本"10.5.3700.0".

C:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319\Microsoft.Common.targets"

"无法解析主要参考[AssemblyY],因为它与.NET Framework程序集"mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"具有间接依赖关系,该版本具有更高版本"4.0.0.0"比当前目标框架中的版本"2.0.0.0".

C:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319\Microsoft.Common.targets"

我查看了发生此错误的程序集的清单:

// Metadata version: v4.0.30319
.assembly extern System.Web
{
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )                         // .?_....:
  .ver 2:0:0:0
}
.assembly extern mscorlib
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 4:0:0:0  //***********Why is this targeting the 4.0?
}
.assembly extern System.Xml
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 2:0:0:0
}
.assembly extern [SomeAssembly1]
{
  .ver 1:0:0:0
}
.assembly extern [SomeAssembly2]
{
  .publickeytoken = (A7 E6 CA C5 42 3F 9E A9 )                         // ....B?..
  .ver 3:1:30307:0
}
.assembly extern [SomeAssembly3]
{
  .publickeytoken = (A7 E6 CA C5 42 3F 9E A9 )                         // ....B?..
  .ver 3:1:30307:0
}
.assembly extern mscorlib as mscorlib_6
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 2:0:0:0
}
.assembly extern System
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 2:0:0:0
}
.assembly extern Relo.Profile.Client
{
  .ver 1:0:0:0
}
.assembly extern PRERS.Logging
{
  .publickeytoken = (A7 E6 CA C5 42 3F 9E A9 )                         // ....B?..
  .ver 3:1:30307:0
}
.assembly extern Microsoft.Practices.EnterpriseLibrary.Logging
{
  .publickeytoken = (74 B5 57 D6 49 41 67 26 )                         // t.W.IAg&
  .ver 3:1:0:0
}
Run Code Online (Sandbox Code Playgroud)

我查看SomeAssembly1,SomeAssembly2,SomeAssembly3(以及整个解决方案)所做的参考,我找不到任何针对4.0的内容.

我在互联网上搜索了解决方案/讨论,我找到的解决方法似乎都没有.

http://social.msdn.microsoft.com/Forums/en/msbuild/thread/516647ee-dccf-49ee-959a-00b1fc098eeb

http://connect.microsoft.com/VisualStudio/feedback/details/571860/assemblies-targetting-net-3-5-will-not-load-in-applications-also-targetting-net-3-5

http://arstechnica.com/civis/viewtopic.php?f=20&t=1112439

http://connect.microsoft.com/VisualStudio/feedback/details/510467/migrated-project-cant-compile-the-commandline-for-resgen-task-is-to-long

任何帮助是极大的赞赏.谢谢!