C# 如何强式命名非托管C++;动态链接库?

C# 如何强式命名非托管C++;动态链接库?,c#,unmanaged,strongname,dll-injection,C#,Unmanaged,Strongname,Dll Injection,我正在开发一个使用DLL注入的C#应用程序。EasyHook要求使用它的任何应用程序都具有强名称。为了对应用程序进行强名称命名,我需要确保我使用的所有库都具有强名称 这对于我所有的托管库都是很容易做到的,但是我还有一个非托管C++库,我需要强加名字。经过一些搜索,我似乎找不到一种方法来签署我的非托管dll,即使是源代码。这可以做到吗?如果可以,我需要做什么 谢谢你的建议和帮助 我假设您正在使用p/Invoke调用DLL 你不需要(也不能)强烈地命名它 强命名是一个.Net概念,适用于托管程序集(

我正在开发一个使用DLL注入的C#应用程序。EasyHook要求使用它的任何应用程序都具有强名称。为了对应用程序进行强名称命名,我需要确保我使用的所有库都具有强名称

<>这对于我所有的托管库都是很容易做到的,但是我还有一个非托管C++库,我需要强加名字。经过一些搜索,我似乎找不到一种方法来签署我的非托管dll,即使是源代码。这可以做到吗?如果可以,我需要做什么


谢谢你的建议和帮助

我假设您正在使用p/Invoke调用DLL

你不需要(也不能)强烈地命名它


强命名是一个.Net概念,适用于托管程序集(和C++/CLI);它对非托管库没有任何意义。

我之所以需要对其进行强签名,是因为它包含在需要对其进行强签名的.NET库中。有没有一种方法可以在不必说服它的情况下对托管库进行签名我需要对非托管库进行签名(因为这无法完成)?您只需对托管程序集进行签名;它不会抱怨P/Invoke导入。我认为问题在于EasyHook需要将dll放入GAC中,但GAC只接受强命名的内容。即使它使用P/Invoke,您也可以对托管dll进行签名。你不用担心。你不能把非托管程序集放在GAC中(据我所知)。您的问题可能是,非托管DLL在GAC中时无法被托管库“看到”?您可能需要将非托管库放置在路径(?)中的某个位置,但我没有尝试此操作。您无法对本机DLL进行强名称。你的断言有很大的错误,即使用EasyHook需要一个强名称,这是没有意义的。