Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET MVC 6中更新NuGet软件包_C#_Asp.net_Asp.net Mvc_Nuget_Asp.net Core Mvc - Fatal编程技术网

C# 在ASP.NET MVC 6中更新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文件中的版本

我刚刚创建了一个新的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文件中的版本号时,会出现错误

1)未执行严重性代码描述项目文件行错误 (来自HRESULT的异常:0x80004001(E_NOTIMPL))0

2)严重性代码描述项目文件行错误NuGet程序包 一个或多个包的还原失败。请参见输出中的详细信息 窗户。Mvc6ProjectName C:[我的文件夹路径]\Source\Mvc6ProjectName\project.json 0

3)严重性代码描述项目文件行错误相关性 无法创建Newtonsoft.Json>=6.0.8 已解析MVC6样板文件C:\Git\ASP.NET MVC样板文件\Source\MVC6\MVC6样板文件\project.json 19

我还有一个MVC项目,正在使用最新的NuGet软件包,为什么我不能升级这些软件包呢?这是因为没有更多的web.config文件可用于指定运行时assemblyBinding的:

<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上吗?