我有一組用於WCF服務的dll。包含契約,接口等。我想在API(客戶端)中重用此代碼,但不希望API的使用者使用這些功能。控制.NET組件的訪問
有沒有辦法說core.dll只能被clientcore.dll使用?
我有一組用於WCF服務的dll。包含契約,接口等。我想在API(客戶端)中重用此代碼,但不希望API的使用者使用這些功能。控制.NET組件的訪問
有沒有辦法說core.dll只能被clientcore.dll使用?
那麼,您可以給core.dll
的所有成員一個訪問修飾符internal
,然後使用InternalsVisibleToAttribute
來訪問clientcore.dll
。
爲了讓客戶的生活更輕鬆,您可能實際上想要使用ILmerge合併core.dll
到clientcore.dll
。這樣你的調用者就不需要複製直接從不使用的DLL。
是的,讓你的類型內部,然後使用朋友組裝機制(通過InternalsVisibleToAttribute類)。
肯定的是,它被稱爲:
如果您正在尋找在.NET中使用CAS 4,請務必從以前的版本[查看更改](http://msdn.microsoft.com/zh-cn/library/ff527276.aspx)。有一些值得注意的。 – ckittel
我們分組您的DLL WIL ilmerge。結束API將只在dll上。感謝那一點。 – Arnej65
@ Arnej65:然後讓核心'內部'的功能是你需要做的。在編譯時你需要'InternalsVisibleTo',但在執行時它不會被實際使用,因爲所有的代碼都在一個程序集中。 –
然後只需添加VisibleTo即可完成。優秀。 – Arnej65