我想僅使用InternalsVisibleTo
屬性來允許進行有意義的單元測試。InternalsVisibleTo屬性被使用時的混淆?
但是,我擔心,當我將構建發佈時,即使沒有朋友程序集將成爲發佈版本的一部分,internal
成員也不會被混淆。
有什麼我可以/需要做的,這將導致這些internal
成員被認爲是真正的internal
發佈版本?在線上無法找到明確的答案。
僅供參考:我還沒有爲特定的混淆器做出選擇。這個問題的任何答案都可能影響到這個選擇。
我想僅使用InternalsVisibleTo
屬性來允許進行有意義的單元測試。InternalsVisibleTo屬性被使用時的混淆?
但是,我擔心,當我將構建發佈時,即使沒有朋友程序集將成爲發佈版本的一部分,internal
成員也不會被混淆。
有什麼我可以/需要做的,這將導致這些internal
成員被認爲是真正的internal
發佈版本?在線上無法找到明確的答案。
僅供參考:我還沒有爲特定的混淆器做出選擇。這個問題的任何答案都可能影響到這個選擇。
嘗試使用pre-processer directive。您可以定義自己的符號或使用內置的RELEASE或DEBUG符號
#if !RELEASE
[assembly: InternalsVisibleTo("X")]
#endif
謝謝@pickles,我明白了!這似乎是一個非常優雅的解決方案。標記爲答案。 –
似乎應該是單元測試商業代碼的教科書案例。奇怪的是,它在單元測試討論和文檔中並不常見。 –
如何使用指令來包裝InternalsVisibleTo屬性? – cordialgerm
@pickles,你能舉個例子嗎?我不太明白這是如何工作的。 –