VS 2015 MVC6 引用/依赖错误

8
我刚刚将我的VS 2015 RC升级到MSDN的最终版本。然后我尝试添加一个新项目,即MVC 6项目。但是什么也没有发生,错误列表为空。如果我尝试构建它,它似乎会永远等待,最终我不得不取消构建过程 - 没有任何错误,它只是不能构建。正如您从下面的截图中看到的那样,Core和DNX的大多数引用都被标记为黄色错误三角形。但至少我希望能够获得某种错误消息或其他提示来修复此问题。我没有对项目进行任何更改,因此它应该开箱即用。除了"WindowsAzure.Storage"引用外,我认为我已经添加了它,但是一个以上的引用并没有什么区别,我只是想看看我通过nuGet管理器自己添加的引用是否更好,但它们并不起作用。

Most references show errors right out of the box

我不确定这是否有帮助,但这里是涉及项目的默认project.json的副本:

{
  "webroot": "wwwroot",
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
    "Microsoft.AspNet.Mvc": "6.0.0-beta5",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta5",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta5",
    "Microsoft.Framework.Configuration.Json": "1.0.0-beta5",
    "Microsoft.Framework.Logging": "1.0.0-beta5",
    "Microsoft.Framework.Logging.Console": "1.0.0-beta5",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta5",
    "WindowsAzure.Storage": "4.4.1-preview"
  },

  "commands": {
    "web": "Microsoft.AspNet.Hosting --config hosting.ini"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
  ],
  "publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc"
  ],
  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
  }
}
1个回答

2
我觉得可能是新的DNVM没有正确安装或者DNX核心文件丢失了。尝试打开PowerShell窗口并输入dnvm。你应该会看到类似于以下内容:

enter image description here

另外,请确保您已安装了beta-5 DNX。您可以通过键入dnvm -list来检查此内容,您应该会得到类似于以下图像底部的内容:

enter image description here

DNVM运行时应该随着Visual Studio 2015中的Web功能一起安装。如果您没有安装它,我认为您不会能够创建新解决方案的文件>新项目。

如果您安装了较旧版本的VS2015,则可能会获得较旧版本的DNX核心,并且需要升级。使用dnvm upgrade命令进行此操作。

有关安装DNVM的更多信息:http://docs.asp.net/en/latest/getting-started/installing-on-windows.html 安装新的DNX:http://www.codeproject.com/Articles/1005145/DNVM-DNX-and-DNU-Understanding-the-ASP-NET-Runtime

希望这可以帮助到您。我建议您了解DNVM和DNX的含义和作用,因为如果您想要做vNext相关的工作,这将很重要。

如果您需要更多帮助,请告诉我!


我认为我们正在正确的轨道上,尽管问题还没有解决 :-(当我第一次执行dnvm时,我只是收到了一个有关禁用运行脚本的错误。 然后我执行了以下命令,似乎有所帮助:Set-ExecutionPolicy Unrestricted -Scope CurrentUser dnvm install -r coreclr latest dnvm upgrade之后,我的 dnvm list 现在包含了 x86 和 x64 的 clr 和 coreclr 的 beta4、beta5和beta6版本。 - Gertsen
但是Visual Studio 2015仍然到处都有黄色三角形。唯一的变化是当我尝试构建项目时,输出窗口现在显示137个错误而不是什么都没有,并且它会自动停止,而不是一直挂起直到我取消构建过程。示例错误消息(第一个错误):DNX 4.5.1错误:无法解析依赖项Microsoft.AspNet.Diagnostics >= 1.0.0-beta5 - Gertsen
1
选定的 DNX 是什么?请确保您已选择 beta5 作为选定的 DNX。您需要使用 dnvm use [something] 来执行此操作。 此外,您可以右键单击 vNext 项目的“引用”节点 - 然后单击“还原包” - 会发生什么? - Jochen van Wylick
2
在寻找解决依赖项无法解决的问题时,我偶然发现了这篇博客文章:http://iamnotmyself.com/...。它还提到了命令dnvm use 1.0.0-beta5,然后是命令dnu restore。这似乎起作用了。dnu restore命令有时会超时,但经过3次尝试后,它成功完成了恢复。现在,我拥有了漂亮的nuGet图标,编译时也没有错误。问题解决了!是的! - Gertsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接