我刚刚创建了一个新的ASP.NET MVC 6项目,并希望将NuGet包更新到最新版本(默认项目模板通常非常过时)。我注意到以下更新是可能的:
当我尝试使用NuGet包对话框升级这些软件包或更新newhostoft.json的project.json文件中的版本号时,我收到错误。
1)严重级代码说明项目文件行错误未实现 (HRESULT异常:0x80004001(E_NOTIMPL))0
2)严重级代码说明项目文件行错误NuGet包 一个或多个包的还原失败。请参阅输出中的详细信息 窗口。 Mvc6ProjectName C:[路径到我的文件夹] \ Source \ Mvc6ProjectName \ project.json 0
3)严重级代码说明项目文件行错误依赖项 Newtonsoft.Json> = 6.0.8不可能 解决了Mvc6Boilerplate C:\ Git \ ASP.NET-MVC-Boilerplate \ Source \ MVC6 \ Mvc6Boilerplate \ project.json 19
我还有一个MVC项目,我正在使用最新的NuGet包,那为什么我不能升级这些包呢?这与没有更多web.config文件的事实有关,我们可以在其中指定运行时assemblyBinding' s:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
更新1
当我尝试从包管理器控制台更新Newtonsoft.Json时,我收到以下错误:
PM&GT;更新包Newtonsoft.Json -ProjectName Mvc6Boilerplate -Version 6.0.8 包含Id&#39; Newtonsoft.Json&#39;没有安装到项目&#39; Mvc6Boilerplate&#39;。
似乎Newtonsoft.Json没有安装在默认的MVC 6项目中,而是作为另一个项目的依赖项安装。此NuGet包实际上并未显示在Nuget包管理器中,但显示在project.json文件中,也显示在References-&gt; DNX和DNX Core树视图项下。
当我尝试显式安装Newtonsoft.Json软件包时,它确实升级到了6.0.8,但我得到了上面列出的错误。
答案 0 :(得分:2)
此错误: “严重程序代码说明项目文件行错误NuGet程序包还原对于一个或多个程序包失败。请参阅”输出“窗口中的详细信息。
...通过确保我以管理员身份运行VisualStudio来解决这个问题。
虽然,第一次构建时页面没有完全呈现。
答案 1 :(得分:0)
我现在知道的最简单的解决方案是使用D
代替Visual Studio 2013
来升级您的软件包。
答案 2 :(得分:0)
似乎问题已经解决了。您必须更新NugetPackage Manager:
工具&gt;扩展程序和更新&gt;更新&gt; Visual Studio Gallery