我有一個常見的DLL,它有一些內部使用的內部方法。除了我還有其他3周項目的WebServices,單元測試和PATSInternalsVisibleTo不適用於所有組件。有些作品,有些不起作用
在公共項目的AssemblyInfo.cs中,我添加了這些行:
[assembly: InternalsVisibleTo("WebServices, PublicKey=00240...b59a0")]
[assembly: InternalsVisibleTo("UnitTests, PublicKey=00240...dcf98")]
[assembly: InternalsVisibleTo("PATs, PublicKey=00240...e65cf")]
這些內部工作方法與完善單元測試代碼和PATS但WebService的。當我在WebService項目中編寫代碼時,我可以在IntelliSense框中看到這些內部方法,這很奇怪。沒有錯誤警報時,我寫的代碼,但是當我生成項目,我得到這個錯誤消息
「通用」不包含「內部方法名」
在定義那一次,我認爲程序集名稱在某種程度上是錯誤的。我儘量讓這真的錯了肯定的:
[assembly: InternalsVisibleTo("WebSer, PublicKey=00240...b59a0")]
然後在WebService的項目,則會變成紅色,立即在該行我使用常見的內部方法,而與此消息編譯:
無法訪問內部方法「內部方法名」這裏
所以我覺得我的程序集名稱是正確的,但我仍然不知道爲什麼我不能在我的Web服務項目中使用的內部方法。
我剛剛發現了一些線索。在我的WebService項目中,我使用了Workflow,當我刪除所有工作流時,構建成功。我重新將Workflow添加到我的項目中,發生上述錯誤。有沒有人知道使用工作流的裝配友好裝配有什麼問題? –