2012-08-28 109 views
1

我想僅使用InternalsVisibleTo屬性來允許進行有意義的單元測試。InternalsVisibleTo屬性被使用時的混淆?

但是,我擔心,當我將構建發佈時,即使沒有朋友程序集將成爲發佈版本的一部分,internal成員也不會被混淆。

有什麼我可以/需要做的,這將導致這些internal成員被認爲是真正的internal發佈版本?在線上無法找到明確的答案。

僅供參考:我還沒有爲特定的混淆器做出選擇。這個問題的任何答案都可能影響到這個選擇。

+0

如何使用指令來包裝InternalsVisibleTo屬性? – cordialgerm

+0

@pickles,你能舉個例子嗎?我不太明白這是如何工作的。 –

回答

6

嘗試使用pre-processer directive。您可以定義自己的符號或使用內置的RELEASE或DEBUG符號

#if !RELEASE 
[assembly: InternalsVisibleTo("X")] 
#endif 
+0

謝謝@pickles,我明白了!這似乎是一個非常優雅的解決方案。標記爲答案。 –

+0

似乎應該是單元測試商業代碼的教科書案例。奇怪的是,它在單元測試討論和文檔中並不常見。 –