我正在使用「InternalsVisibleTo」屬性與程序集來公開內部方法/類到我的單元測試項目。如何使用具有強命名程序集的「InternalsVisibleTo」屬性?
我現在需要將該程序集安裝到GAC中,因此我需要給它一個強名稱。當我嘗試這樣做時,在Visual Studio中出現以下錯誤。
https://msdn.microsoft.com/en-us/library/bb763089.aspx
這篇文章中指出:
強名稱簽名的程序集必須在其InternalsVisibleTo聲明中
谷歌搜索的有點把我帶到下面的文章指定一個公鑰:
「確定pu爲強名的朋友大會準備鑰匙。「
本文沒有說如何確定公鑰。我在哪裏可以找到組件的公鑰?另外,一旦我擁有公鑰,這是否是聲明屬性的正確方法?
[assembly: InternalsVisibleTo("Namespace.Assembly.Example.Name, PublicKey=ThePublicKey")]
谷歌「.net程序集公鑰」並採取第一次打。 –
我試過了。它表示要使用SN.exe,但只有在程序集被強烈簽名時纔有效。由於上述錯誤,我無法讓我的程序集編譯爲強類型。 SN.exe給出錯誤「.dll不代表強命名的程序集」 – Dave
似乎你有雞和雞蛋顛倒了,你需要* other *程序集的公鑰。 –