升级到Visual Studio 2015会导致项目

时间:2015-07-30 20:35:09

标签: asp.net-mvc visual-studio razor

我经历了很多类似的问题,但找不到任何对我有用的东西。

我将我的IDE从VisualStudio for Web(v10)升级到Visual Studio 2015(v14,我猜)社区版。 我尝试在新IDE上使用的主要项目是MVC 5(5.2.3),EF 6.1(6.1.3)以及其他一些东西。

问题是:在新IDE上打开项目时,一切看起来都很好(甚至编译和工作)。我在项目资源管理器上运行了MVC上下文菜单(显示"添加控制器......""添加视图..."适当时)。 Razor Intellisense只是(真的很烦人)。

当我打开一个View文件(.cshtml)时,我会收到几个帮助者的警告,其中一些是"使用"是灰色的(尽管它们应该是必需的)并且@model myModel在@model指令不是razor之后显示为所有内容(它通过intellisense着色被视为HTML)。

我已经找到并尝试过:

    • 我已经尝试从vs(devenv / ResetUserData)清除UserData
    • 我已经尝试以安全模式运行VS2015
    • 我已经尝试以管理员身份运行VS2015
    • 我已经尝试将Project的目标框架设置为4.5.1(曾经是4.5)
    • 我已尝试在Visual Studio Community 2013上打开该项目,然后在尝试在VS2015上使用它之前将其保存在那里。
  1. 从VS2015创建另一个MVC项目时,一切正常。

    以下是烦人问题的一个例子:

    enter image description here

1 个答案:

答案 0 :(得分:6)

好的,终于明白了。 发布我发现相信它可以帮助其他人:

  1. 似乎导致上述问题的原因是该项目是在旧的MVC版本(使用较旧的Razor,EF等)上创建的。

  2. 如本回答所述:Visual Studio 2015 Razor View MVC Types not recognized,VS2015工具可能无法用于较旧的MVC。

  3. 解决方案是将所有软件包更新为[至少]在较新的MVC(5?)上接受的次要版本。为此,您可以使用此网站中的列表:http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2

  4. 一旦所有内容都是最新的,请打开位于应用程序根目录和Views文件夹中的web.config文件。在那里,你可能会发现一些旧版本的MVC和Razor的引用。更新这些版本的值(所有这些值)以匹配软件包的更新版本(您可以在新的Visual Studio上创建一个新的空MVC项目,并检查这些值作为它们应该是什么的提示)。

      

    这一步是抓住了!因为,即使您更新了项目的软件包,一些web.config引用仍然可能会提到原始版本。

  5. 清理解决方案(Build> Clean Solution)并关闭项目。重新打开并编译它。现在[希望]一切都应该正常。

  6. [编辑]

    1. 还有一件事:如果您的项目在IDE转换期间也从Framework 4.5更新到4.5.1,您还应该安装名为" Microsoft.CodeDom.Providers.DotNetCompilerPlatform"的NuGet包。 (如https://support.microsoft.com/en-us/kb/3025133中所述)。