2010-10-14 45 views
3

如何使用.pfx文件簽署託管C++ dll?託管C++強名/簽署

或者有沒有辦法在簽名的c#項目中包含未簽名的託管C++ dll? 我真的不需要一個簽名的DLL我只需要VS停止給我錯誤「引用程序集'SlimDX'沒有一個強名稱。」在我的C#項目中必須簽名。

回答

2

如果您正在構建dll,則在VS中有一個後期構建步驟,可以讓您運行該簽署實用程序。看看這個鏈接(.NET 4.0,還有其他的版本從頁面) http://msdn.microsoft.com/en-us/library/xc31ft41.aspx

在另一方面,我不認爲你將能夠簽署您的DLL,其中包括一個無符號的dll,所以你將不得不簽署C++/CLI DLL或不簽名。

+0

所以我加了一行「[assembly:AssemblyKeyFileAttribute(」VOS.snk「)];」在我的AssemblyInfo.cpp文件中。但現在它給了我錯誤「密鑰文件」VOS.snk「缺少簽名所需的私鑰」...我有pfx文件,但我想如何使用它? – zezba9000 2010-10-14 02:47:38

+0

您需要從pfx文件中提取您的私鑰。我從來沒有這樣做,我通常只有一個snk文件來簽名。你可以查看這個鏈接:http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/7f31e70d-d5a4-4e15-a3f7-18588eeb8c78尋求幫助,我簡要地看了一下答案鏈接,他們可能會提供一些幫助。 – pstrjds 2010-10-14 02:53:08

+0

sn.exe支持使用PFX文件進行簽名(http://blogs.msdn.com/b/shawnfa/archive/2006/02/14/531921.aspx)。這可能會有問題,但是,因爲sn.exe會要求輸入PFX文件的密碼。 – hbw 2010-10-18 06:00:07