繁体   English   中英

.Net DLL 引用错误(在强名称符号之后)

[英].Net DLL reference error (after strong name sign)

这是我的场景。 我很少有应用程序使用 ABCD.dll(用 C# .net 编写),这个旧的 DLL 没有强名称签名。

我修改了这个dll,基本保持同名ABCD.dll,并用密钥签名。 请注意没有代码更改

我想我应该能够将这个新更新的 DLL 放入不同的应用程序文件夹中,它应该可以工作。 我错了吗?

我收到以下错误

BadImageFormatException: Could not load file or assembly 'ABCD, Version=7.2.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

如何在不编译所有旧应用程序的情况下使用这个新 dll?

我错了吗?

是的,基本上。 更改 DLL 上的签名,包括从“没有一个”到“有一个”是一个重大更改 - 就 CLR 而言,它更改了 DLL 的身份。

如何在不编译所有旧应用程序的情况下使用这个新 dll?

你没有,据我所知。 我不知道有什么方法可以让它发挥作用。 我建议你接受打击并重建一切。

如果幸运的话,您可以“仅”更改对新 .DLL 的引用。 有这方面的工具。

你可以试试这个: https : //marketplace.visualstudio.com/items?itemName=markkemper1.ReferenceSwitcher

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM