无法在 ASP.NET MVC 应用程序的源文件中识别 dependencies/packages

Cannot get dependencies/packages to be recognized in source files of ASP.NET MVC application

问题

我无法在 ASP.NET 应用程序的源文件中识别包。

无论是使用 ASP.NET5 web starter、.NET team music store app 还是我自己从头开始生成的东西都没有关系。

怎么了?有关问题的屏幕截图,请参阅步骤 2。

详情

我觉得有人可以重现我的问题。

第 0 步:克隆一个 ASP.NET 5 应用程序,在我的例子中是 mvcmusicstore

第 1 步:立即观察我的解决方案中的错误。我无法构建我刚刚更新和克隆的项目

第 2 步:查看 class 以了解发生了什么。这就是问题所在。哦,好吧,所以也许我仍然缺少依赖项......

第 3 步:Wut。包裹被project.json带进来了!?!下图被裁剪了,但包裹在那里。参见

第四步:生存危机。有人有我没有的工具或版本吗?

第 5 步:我的 project.json 软件包都有 * 以获取最新的夜间构建。看起来像 this。会不会是我的 KRE 过时了?好吧,我正在使用 beta2。这就是 kvm upgrade 所做的。

第 6 步:检查金块

第 7 步:尝试恢复 kpm。请注意 xunit.runner 没有恢复,我的问题仍然存在。

第 8 步:成功(当您这样做时它会起作用) 像他所说的那样将所有依赖项更改为 beta2 并使用 nugget.org

尝试次数

我已经为此工作了好几天,我觉得我遗漏了一些明显的东西。如果其他人 运行 遇到了这个问题,你能解决吗?有两种可能:

将我的评论作为答案:

这是由于绝对最新的包与您拥有的 MusicStore 示例应用副本使用的特定包不匹配造成的。

如果您现在使用 MusicStore 的 master 分支,您需要使用 nuget.org 作为您的提要。如果您使用 dev 分支,您需要使用 MyGet.org / aspnetvnext 作为您的提要。问题是您不能混合和匹配分支和提要。

ASP.NET 团队(我的团队)正在努力修复依赖关系以不使用格式 1.0.0-*,因为 * 表示 "latest"。相反,我们将锁定构建版本,但这还没有完成。作为参考,这里有一个 example of a PR,其中 EntityFramework master 分支被固定为硬编码 beta2 作为版本。