2

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

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

尽管我希望能够自己构建源代码,以防万一我想添加或更改某些内容,了解是否有“官方”.NET 4 构建也很有用,我一直在无法找到。

4

2 回答 2

1

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

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

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

于 2010-07-15T19:39:14.720 回答
0

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

或者,很明显,您没有查看正确的程序集?这些 DLL 不应该在非 v4 项目中被接受,那么您是如何在编译项目中看到“v2.0”的?

于 2010-07-10T22:31:58.487 回答