2008-11-04 61 views
18

我正在開發一個庫以供其他應用程序使用,並且此庫由於NLog而具有許多調試和日誌記錄語句。Visual Studio - 如何刪除發佈模式中的引用

當我切換到發佈模式時,是否可以排除對NLog.dll的引用?

乾杯,

+2

好問題。我有一個用例,我需要在發佈模式中刪除一個引用。 – 2009-02-03 07:42:54

回答

25

您可以手動編輯的csproj文件,做這樣的事情:

​​

這隻能使得它引用在組裝調試。我不會經常這樣做,因爲在更改配置時,此行爲不會反映在Visual Studio中的引用列表中。它在編譯時工作雖然

0

我想不出一個好辦法做到這一點。除非你寫了NLog.dll的存根引用。由於您在代碼中使用了引用,因此我沒有看到如何在發佈中刪除它。

現在可能已經太遲了,但在將來你可以編寫一個類來封裝NLog.dll,然後在一個地方更改它,這樣它就不會實際登錄發行版本。或者有某種標誌。

+0

那麼,如果你在#if DEBUG中添加代碼,那麼它們在發佈模式下編譯時會被排除 – 2008-11-04 01:53:54

+0

哇,在每次日誌調用中這樣做聽起來都很痛苦。我會建議打包,然後使用Conditional屬性。 – fostandy 2011-04-04 12:22:03

2

我知道的唯一方法是完全取出參考,並通過反射調用組件。然後,您應該只記錄程序集加載。

-1

如果您確定沒有代碼將從該DLL中使用,則沒有理由刪除引用。在這種情況下,您可以簡單地刪除DLL。

-1

你爲什麼要這麼做?

如果要停止日誌記錄,可以通過編程方式關閉日誌記錄。性能受到的影響很小。 (即使在記錄交叉過程時,我也使用NLog獲得了巨大成功。)

否則,您需要按上述方法將其包裝。

斯科特

相關問題