2012-07-18 66 views
0

我遵循其他帖子和http://msdn.microsoft.com/en-us/library/xwb8f617.aspx的指令给我的dll命名,这是一个本地(非托管)C++ dll。然而,当它仍然是不强命名的,当我尝试验证:强名dll - 如何解决问题?

>sn.exe -v myStuff.dll 
=> myStuff.dll does not represent a strongly named assembly 

添加我的.snk文件的项目,并添加到属性 - >连接器 - >高级 - >密钥文件中的文件。

我该如何排除故障?

+0

好的我发现/ KEYFILE链接器选项根本不起作用。在另一个C++/CLI项目中,正在使用/ KEYFILE并且.dll已正确签名。为什么在我的非托管项目中链接器不使用该标志? – 2012-07-18 21:04:03

回答

1

我以为我刚才读了一个这样的问题。有人(正确地)表示,强名称不适用于本地dll。

我确实希望你能解决你的问题,但是试图强烈地命名你的本地dll时,你会吼出错误的树。

+0

是的,我发现了。然而,它仍然不能解决我的问题,即从托管的C++/CLI包装DLL中使用本机C++ dll,这将反过来被C#应用程序使用。 – 2012-07-19 15:40:45

+0

我希望你找到前进的方向。我不是C#开发人员,但我在Windows和Linux平台上使用C++有相当丰富的经验。我可以建议看看这个MSDN上的常见问题:http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/5df04db1-bbc8-4389-b752-802bc84148fe/ – fishfood 2012-07-19 18:34:49

+1

谢谢拉平!我确实找到了我的答案。看到我的相关问题(在怀疑我正在吠叫错误的树,如你所说):http://stackoverflow.com/questions/11551521/unmanaged-c-need-strong-name-to-be-referenced-by-c -cli-DLL与 - 强南 – 2012-07-20 15:59:52