C# 使用不同的publicKeyToken升级引用.Net dll
我必须在我的项目中使用一些引用程序集XXXXX的dll文件。现在,我的项目中有了此程序集的更新版本,但是当我运行项目时,出现错误:C# 使用不同的publicKeyToken升级引用.Net dll,c#,.net,configuration,.net-assembly,C#,.net,Configuration,.net Assembly,我必须在我的项目中使用一些引用程序集XXXXX的dll文件。现在,我的项目中有了此程序集的更新版本,但是当我运行项目时,出现错误:无法加载文件或程序集XXXXX,version=XXXXX。我试图用计算机解决这个问题。但这没有帮助。重定向程序集似乎不起作用,因为我有不同的公共令牌密钥。它在旧程序集中为null。但它在较新的程序集中有一些值“xxxxxxxxxx”。如何解决这个问题 另外,类似的问题也存在。但不同之处在于我有不同的公共令牌密钥。您需要获得新版本的dll文件,该文件是针对新版本的XX
无法加载文件或程序集XXXXX,version=XXXXX
。我试图用计算机解决这个问题。但这没有帮助。重定向程序集似乎不起作用,因为我有不同的公共令牌密钥。它在旧程序集中为null
。但它在较新的程序集中有一些值“xxxxxxxxxx”。如何解决这个问题
另外,类似的问题也存在。但不同之处在于我有不同的公共令牌密钥。您需要获得新版本的dll文件,该文件是针对新版本的XXXXX构建的
您可以在中了解有关程序集查找的更多信息。共享dll中的公钥应保护应用程序免受“中间的man/dll”攻击 如果当前sub.dll的公钥与编译main.exe时的公钥不同,则dot net运行时会正确拒绝使用sub.dll启动main.exe 要解决这个问题,你可以
- 使用新的sub.dll重新编译main.exe
- 让舒尔确保sub.dll的两个版本都使用相同的公钥编译。在您的情况下,您可以从sub.dll中删除公钥(即使用),因为旧的sub.dll没有密钥