C# 在已签名的项目中使用未签名的DLL

C# 在已签名的项目中使用未签名的DLL,c#,visual-studio-2010,C#,Visual Studio 2010,我有一个第三方DLL,我需要在我的应用程序中使用。我的项目是用SNK签名的,因此我不能在没有签名的情况下使用这些未签名的DLL 如前所述,我尝试使用ildasm.exe,但由于DLL包含非托管代码,因此在尝试对DLL进行签名时收到错误消息。我得到的错误消息是“生成的PE文件不可用”(DLL使用P/Invoke调用) 你知道我能在这里做什么吗?最简单的方法是用一个键重建DLL。你还没有告诉我们关于第三方DLL的任何事情。。。如果它是一个商业图书馆,我希望相关的公司会乐意给你一个签名的二进制文件。如

我有一个第三方DLL,我需要在我的应用程序中使用。我的项目是用SNK签名的,因此我不能在没有签名的情况下使用这些未签名的DLL

如前所述,我尝试使用ildasm.exe,但由于DLL包含非托管代码,因此在尝试对DLL进行签名时收到错误消息。我得到的错误消息是“生成的PE文件不可用”(DLL使用P/Invoke调用)


你知道我能在这里做什么吗?

最简单的方法是用一个键重建DLL。你还没有告诉我们关于第三方DLL的任何事情。。。如果它是一个商业图书馆,我希望相关的公司会乐意给你一个签名的二进制文件。如果它是一个开源库,你可以自己做


如果您无法获得“正常”签名二进制文件,也许您可以提供有关情况的更多详细信息?

如果您无法获得第三方程序集的签名版本,并且需要该版本才能正常工作,一种解决方法是在运行时动态加载dll。

软件供应商提供没有强名称的dll会犯罪。尤其是犯罪,因为这很容易做到。您完全有权坚持使用强命名版本。我已要求拥有该DLL(它是Commercial)的公司向我提供一个签名的二进制文件,我正在等待他们的答复。还有什么我能做的吗?在这种情况下,您需要什么进一步的详细信息?谢谢@Vixen:知道它是商业性的是我们遗漏的细节。如果他们不愿意给你一个强名称的二进制文件,我会非常担心。我认为这表明他们实际上并不认真对待他们的软件。你能为此使用
al.exe
吗?@CJ7:我不知道-我以为al是用于本机代码,但我可能大错特错。我已经很久没用了。谢谢-这很有效:)很难看,但这是我唯一的选择。