参考questions/26393157/windows-update-caused-mvc3-and-mvc4-stop-working。解决下面警告的最快方法是什么?
假设程序集引用'System.Web.Mvc,Version = 4.0.0.0, Culture = neutral,PublicKeyToken = 31bf3856ad364e35'匹配 'System.Web.Mvc,Version = 4.0.0.1,Culture = neutral, PublicKeyToken = 31bf3856ad364e35',您可能需要提供运行时 政策。
答案 0 :(得分:10)
我偶尔会在NuGet套餐中发生这种情况。我还没能确切地知道它是如何发生的。 (我假设用户错误。) 我没有需要升级任何东西来解决它,只需清除NuGet缓存:
我使用找到here的nuget命令行工具。
您可以使用此命令清除所有缓存:
nuget locals all -clear
请参阅:https://docs.nuget.org/consume/command-line-reference
如果Visual Studio已打开,您可能需要重新启动它。
答案 1 :(得分:9)
根据问题的最佳答案......
但是
将在Views / Web.config文件中找到所有隐藏的引用。
答案 2 :(得分:1)
每次遇到此问题时,我总是从进行重新构建开始,该操作将清除您的bin文件夹。您可能不需要像我从未那样关闭和打开Visual Studio,它应该可以工作。
如果这不起作用,请尝试上述更复杂的解决方案,但这可能是一种快速,干净的解决方案。
答案 3 :(得分:0)
在对所有命题进行测试后,我终于通过编辑我的Web应用程序的.csproj并将属性 MvcBuildViews 设置为false来成功摆脱警告。
也许这可以帮助你们中的一些人。
答案 4 :(得分:0)
我在RoslynPad中收到此警告,因为我正在引用的dll之一(对我来说是mscorlib.dll)使用的版本与通过NuGet检索到的版本不同。如警告状态所示,您可以使用运行时策略来解决它,并带有指向您要使用的版本的dll的链接。只需在文件顶部添加这样的内容即可:
#r "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorlib.dll"
答案 5 :(得分:0)
不要直接从cshtml代码中引用NuGet软件包组件和接口。而是编写您自己的组件,扩展方法,并从放置在cs文件中的纯C#代码中查看引用它们的模型。首先,那么您将不会获得CS1702警告。其次,这将有助于将来向NuGet软件包甚至其他软件包的较新版本迁移:所有必要的修复程序将由编译器显示。
这可能是您的运行时策略所需的更改。
答案 6 :(得分:0)
很抱歉,我的答复很晚,但由于我在Visual Studio解决方案中使用 Microsoft.AspNet.Mvc的不同版本,因此出现此警告。通过将较旧的软件包升级到相同版本,我可以摆脱它。
希望这对某人有帮助。
答案 7 :(得分:0)
尝试几次后对我有用的是更新应用程序见解和NuGet的所有软件包。然后,我确保在App见解上没有版本冲突,并且一切正常。