我也关注那篇文章,但在开始时没有完全成功,但
要修复这个“简单”,请创建新的 web mvc 项目并保存它,然后在记事本中打开 web.config、web.config 从视图、packages.config 和 .csproj
然后打开您的项目并查看文件版本号的条目差异,例如在您应该看到的包中
<package id="Microsoft.AspNet.Mvc" version="5.0.0" targetFramework="net45" />
但你可以拥有
<package id="Microsoft.AspNet.Mvc" version="4.x.x.x" targetFramework="net40" />
在 web.config 中
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
但你可以拥有
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
在 .csproj 中
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.0.0\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference>
但你可以拥有
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.Helpers.dll</HintPath>
</Reference>
用更新的值替换所有
之后执行 Ctrl+Shift+B 并在 nuget 控制台中通过命令 Update-Package 更新所有包
对我来说,这项工作终于