C# 在ASP.NET MVC 6中更新NuGet软件包
我刚刚创建了一个新的ASP.NETMVC6项目,并希望将NuGet包更新到其最新版本(默认项目模板通常非常过时)。我注意到以下更新是可能的:C# 在ASP.NET MVC 6中更新NuGet软件包,c#,asp.net,asp.net-mvc,nuget,asp.net-core-mvc,C#,Asp.net,Asp.net Mvc,Nuget,Asp.net Core Mvc,我刚刚创建了一个新的ASP.NETMVC6项目,并希望将NuGet包更新到其最新版本(默认项目模板通常非常过时)。我注意到以下更新是可能的: Antlr.3.4.1.9004>Antlr.3.5.0.2 Newtonsoft.Json.6.0.4>Newtonsoft.Json.6.0.8 Webfleed.1.5.2>Webfleed.1.6.0 当我尝试使用NuGet package对话框升级这些软件包wither或更新Newtonsoft.json的project.json文件中的版本
- Antlr.3.4.1.9004>Antlr.3.5.0.2
- Newtonsoft.Json.6.0.4>Newtonsoft.Json.6.0.8
- Webfleed.1.5.2>Webfleed.1.6.0
<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
当我尝试从package manager控制台更新Newtonsoft.Json时,出现以下错误:
PM>更新包Newtonsoft.Json-ProjectName MVC6样板文件-版本6.0.8
Id为“Newtonsoft.Json”的包未安装到项目“Mvc6Boilerplate”
似乎Newtonsoft.Json没有安装在默认的MVC6项目中,而是作为另一个项目的依赖项安装的。此NuGet包实际上也不会显示在NuGet包管理器中,而是显示在project.json文件中,以及References->DNX和DNX核心树视图项下
当我尝试显式安装Newtonsoft.Json包时,它确实升级到了6.0.8,但随后我收到了上面列出的错误。此错误:
“严重性代码说明项目文件行错误NuGet Package还原一个或多个包失败。请参阅输出窗口中的详细信息。”
通过确保我以管理员身份运行VisualStudio,为我解决了此问题
尽管如此,页面在第一次构建时并没有完全呈现良好 我现在知道的最简单的解决方案是使用
Visual Studio 2013
而不是2015
来升级软件包。问题似乎已经解决了。您必须更新NugetPackage管理器:
工具>扩展和更新>更新>Visual Studio Gallery如果转到“输出”窗口,将下拉列表更改为“软件包管理器”,您会在那里发现哪些错误?我还没有看到升级包时出现的问题。我已手动将
true
添加到xproj文件中以处理绑定问题。请参阅上面的更新1。我尝试添加AutoGenerateBindingRedirects,但没有任何帮助。我没想到AutoGenerateBindingRedirects
会有任何不同。不幸的是,我一定不清楚-输出窗口与PackageManager控制台不同。(类似的命名没有帮助。)您通常可以使用Ctrl+W,O
或使用顶部的快速启动栏来访问它。您可能需要更改下拉列表。。。将有很多GET和CACHE行,其中可能有一两个错误。在beta-5之前的版本中更新Newtonsoft.Json可能会有一个特别的问题:看起来根本不像mvc6。你确定你在MVC6上吗?