2008-11-04 24 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获得了巨大成功。)

否则,您需要按上述方法将其包装。

斯科特

相关问题