我已经对此进行了一段时间的研究,但尚未解决。我收到以下错误消息:
Compiler Error Message: CS1705: Assembly 'My.Model, Version=1.1.4422.23773, Culture=neutral,
PublicKeyToken=bfde95ba233094b2' uses
'Common, Version=3.3.4273.24368, Culture=neutral, PublicKeyToken=bfde95ba233094b2'
which has a higher version than referenced assembly
'Common, Version=3.3.4269.17112, Culture=neutral, PublicKeyToken=bfde95ba233094b2'
c:\WINDOWS\assembly\GAC_MSIL\Common\3.3.4269.17112__bfde95ba233094b2\Common.dll:
(Location of symbol related to previous error)
Web服务器正在运行Server2003。我去了c:\ windows \ assembly,实际上确实注意到列出了Common.dll的3个版本。列出的最高版本是3.3.4269.17112
我将版本为3.3.4273.24368的dll复制到了程序集目录中。然后,我重新编译并重新部署了我的代码(可能过大了,但是很好)。当我在新的会话中打开浏览器并再次访问站点URL时,仍然收到相同的消息。
我可以使用Windows资源管理器并确认现在也列出了更高版本的Common.dll。
我还有什么可以解决这个问题的?我不想更改程序集中的引用以指向旧版本。
3个想法供您尝试:
Microsoft.AspNetCore.ALL
安装到测试项目中后,我修复了该错误。 手工dll的收藏夹如果您的解决方案具有来自不同库的dll文件的垃圾文件夹lib
,source
,libs
等如果要在Visual Studio中打开解决方案(花一秒钟的时间),就会遇到麻烦。而且您的dll的收集文件夹由于某种原因而丢失,或者缺少了具体的dll文件。
即您的<HintPath>
将被忽略,并且您的项目文件(.csproj)将不会更改。以我为例
<Reference Include="DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\lib\DocumentFormat.OpenXml.dll</HintPath>
</Reference>
DocumentFormat.OpenXml
将从C:\Program Files (x86)\Open XML SDK\V2.5\lib
而不是solution\..\lib
文件夹中引用。快速解决方法
正确的解决方法
将迁移到NuGet程序包管理器。我花了一些时间查看解决方案中的所有引用,然后才意识到我已经忘记了web.config文件中的引用。
更改以下内容<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.3.0.50813.1\lib\net40\System.Web.Mvc.dll</HintPath>
</Reference>
System.Web.Mvc
我有此错误,因为“ Rebuild”并不是真正的重建。
解决方案:关闭Visual Studio,真正去删除bin文件夹,然后重新构建,它可能会更好。
而且,有时Visual Studio会涉及引用,因此请检查HintPath
文件中的.csproj
。
如果您使用的是NuGet,则值得去[['管理NuGet解决方案的软件包',找到引起问题的软件包并进行更新。然后,应将所有软件包升级到最新版本并解决问题。
值得一试,因为它既快速又容易。如果是这种情况,请使用gacutil.exe实用程序从GAC卸载第二个程序集。例如,如果这些是64位程序集:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\gacutil.exe -u <assembly_name>
我们的通用程序集具有指向包含我们的参考程序集的目录的正确相对路径。从属程序集具有以前目录结构的路径。当GAC解决依赖项对C:\ Program Files中安装的正确版本的引用时,该解决方案已在开发人员计算机上成功编译。构建环境具有旧版的程序集安装(即使应该没有安装),但仍旧存在,因此会出错。在文本编辑器中更新