Visual
Studio是一个很棒的工具,但是在升级依赖项时,它并不总是做出正确的选择,也不支持MSBuild中可用的所有可能选项。每当发现自己处于这种绑定中时,都应该手动检查和(如有必要)编辑
.csproj文件以解决该问题。
问题不在于您的文件是否存在于GAC中,或者不是由NuGet安装的,不是因为您的项目文件之一仍然引用了version的旧
System.Web.WebPages.Razor版本
1.0.0.0,而是您需要查找所有文件。引用它,并
3.0.0.0相应地将其更改为。
- 在解决方案资源管理器中右键单击您的项目节点,然后单击确定
Unload Project
。 - 再次右键单击项目节点,然后单击确定
Edit <projectName>.csproj
。 - 搜索文件以获取参考,
System.Web.WebPages.Razor
并更新版本和HintPath
相应的版本(如下所示)。确保HintPath
您使用的实际上指向现有文件。 - 对解决方案中的所有相关项目(以及不属于解决方案一部分的DLL中的所有项目)重复这些步骤。
旧参考
<Reference Include="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Private>True</Private> <HintPath>..packagesMicrosoft.AspNet.WebPages.1.0.20105.408libnet40System.Web.WebPages.Razor.dll</HintPath></Reference>
更新的参考
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Private>True</Private> <HintPath>..packagesMicrosoft.AspNet.WebPages.3.0.0libnet45System.Web.WebPages.Razor.dll</HintPath></Reference>
您还应该浏览
web.config和
/Views/web.config文件,以确保它们没有引用该程序集的任何旧版本。
注意:
如果上述说明不能解决您的问题,则可能是您的解决方案之外的问题。最有可能存在一个第三方库,该库在某处引用了文件的旧版本。如果是这样,您可以尝试获取DLL的更新版本。
您可能还想看看这个问题。



