Build 如何为.NET4构建MVCContrib?

Build 如何为.NET4构建MVCContrib?,build,.net-4.0,mvccontrib,Build,.net 4.0,Mvccontrib,我已经下载了源代码,将解决方案转换为VS10格式,修复了所有编译错误(主要是删除了对System.Web.Routing和System.Web.Abstracts的.NET 3.5版本的引用,并在其位置添加了.NET 4版本),并编译了该项目 但是,当我从输出目录(/bin/Release/)添加对其中一个输出程序集(在本例中为MVCContrib.TestHelpers.dll)的引用并在VS中检查引用的程序集的属性时,它仍然表示运行时版本为2.0。为什么? 虽然我希望能够自己构建源代码,但如

我已经下载了源代码,将解决方案转换为VS10格式,修复了所有编译错误(主要是删除了对System.Web.Routing和System.Web.Abstracts的.NET 3.5版本的引用,并在其位置添加了.NET 4版本),并编译了该项目

但是,当我从输出目录(/bin/Release/)添加对其中一个输出程序集(在本例中为MVCContrib.TestHelpers.dll)的引用并在VS中检查引用的程序集的属性时,它仍然表示运行时版本为2.0。为什么?


虽然我希望能够自己构建源代码,但如果我想添加或更改某些内容,了解是否存在我无法找到的“官方.NET 4构建”也会很有用。

因为.NET 4引入了新的CLR(请参见和),您确实需要查看其中指定的运行时版本4。也许你没有把它编译成.NET4?尝试查看本地MVCContrib的属性,以确保它在CLR的v4之上编译。(是的,我读到你说你变了)


或者,很明显,你没有看到正确的组件?非v4项目不应接受这些DLL,那么您如何看待编译项目中的“v2.0”?

以下是将MVCContrib转换为目标.NET 4所需的步骤:

  • 在VS2010中打开MVCContrib解决方案以触发项目升级向导
  • 将所有项目更改为目标.NET 4(转到每个项目的属性,并在应用程序表中更改目标框架属性)
  • 检查所有项目并删除对System.Web.Routing和System.Web.Abstracts的所有引用。现在,使用“添加引用”对话框读取对这些程序集的引用。这将迫使它们成为4.0版本

  • 在我看来,你可能错过了第2步。

    事实上,需要有人陈述显而易见的事实;我没有看到正确的组件。。。或者,至少我认为这是问题的症结所在。我仔细检查了我需要做的所有事情(已经完成了)并再次编译,这次它按预期工作。我怀疑我编译时选择了调试配置,但查看了发行版文件夹…我已经检查并再次检查了,所有项目都设置为目标.NET 4。我还检查了所有的参考资料,而且都是正确的。不过,感谢您为升级提供了非常具体的todo列表!这让我知道我没有别的事要做。