7
我無法在MSDN上找到關於此的任何明確聲明,有一些強名稱的例子其他沒有,對我來說,它似乎應該工作,即使沒有,但它不工作。可以使用InternalVisibleTo而不使用C#中的強名稱程序集嗎?
謝謝
我無法在MSDN上找到關於此的任何明確聲明,有一些強名稱的例子其他沒有,對我來說,它似乎應該工作,即使沒有,但它不工作。可以使用InternalVisibleTo而不使用C#中的強名稱程序集嗎?
謝謝
的documentation是十分明瞭:
無論是當前的組件和朋友集會必須是無符號,或 都必須用強名稱進行簽名。如果它們使用 強名稱進行簽名,則構造函數的參數必須包含完整公鑰以及程序集名稱 。
對於什麼完整的公鑰裝置的一個例子見this answer。
謝謝你的答案,這就是我從文檔瞭解,但仍然由於某種原因,它不工作。我知道什麼是完整的公鑰,但我更願意公開內部方法,而不是在所有DLL中集成公鑰。我發現沒有公鑰的選項對單元測試非常有用 – CloudyMarble
好吧,如果你不想指定完整的公鑰,那麼*兩個*程序集都必須是無符號的。是這樣嗎?另外請注意,[[AssemblyKeyFile]'和'[AssemblyKeyName]'屬性的存在,甚至是空的,都可能與[InternalsVisibleTo]混淆,因爲[this answer](http://stackoverflow.com/a/3594856/ 464709)揭示。 –