我正在開發一個庫以供其他應用程序使用,並且此庫由於NLog而具有許多調試和日誌記錄語句。Visual Studio - 如何刪除發佈模式中的引用
當我切換到發佈模式時,是否可以排除對NLog.dll的引用?
乾杯,
我正在開發一個庫以供其他應用程序使用,並且此庫由於NLog而具有許多調試和日誌記錄語句。Visual Studio - 如何刪除發佈模式中的引用
當我切換到發佈模式時,是否可以排除對NLog.dll的引用?
乾杯,
您可以手動編輯的csproj文件,做這樣的事情:
這隻能使得它引用在組裝調試。我不會經常這樣做,因爲在更改配置時,此行爲不會反映在Visual Studio中的引用列表中。它在編譯時工作雖然
我想不出一個好辦法做到這一點。除非你寫了NLog.dll的存根引用。由於您在代碼中使用了引用,因此我沒有看到如何在發佈中刪除它。
現在可能已經太遲了,但在將來你可以編寫一個類來封裝NLog.dll,然後在一個地方更改它,這樣它就不會實際登錄發行版本。或者有某種標誌。
那麼,如果你在#if DEBUG中添加代碼,那麼它們在發佈模式下編譯時會被排除 – 2008-11-04 01:53:54
哇,在每次日誌調用中這樣做聽起來都很痛苦。我會建議打包,然後使用Conditional屬性。 – fostandy 2011-04-04 12:22:03
我知道的唯一方法是完全取出參考,並通過反射調用組件。然後,您應該只記錄程序集加載。
如果您確定沒有代碼將從該DLL中使用,則沒有理由刪除引用。在這種情況下,您可以簡單地刪除DLL。
你爲什麼要這麼做?
如果要停止日誌記錄,可以通過編程方式關閉日誌記錄。性能受到的影響很小。 (即使在記錄交叉過程時,我也使用NLog獲得了巨大成功。)
否則,您需要按上述方法將其包裝。
斯科特
好問題。我有一個用例,我需要在發佈模式中刪除一個引用。 – 2009-02-03 07:42:54