Visual Studio - Как удалить ссылку в режиме выпуска - PullRequest
19 голосов
/ 04 ноября 2008

Я разрабатываю библиотеку для использования в других приложениях, и благодаря NLog эта библиотека содержит множество операторов отладки и ведения журнала.

Можно ли исключить ссылку на NLog.dll при переключении в режим выпуска?

Приветствия

Ответы [ 5 ]

25 голосов
/ 14 мая 2009

Вы можете вручную отредактировать файл csproj и сделать что-то вроде этого:

<Reference Include="NLog" Condition="'$(Configuration)' == 'Debug'" />

Это только делает ссылку на эту сборку в Debug. Я бы не рекомендовал делать это часто, потому что это поведение не отражается в списке ссылок в Visual Studio при изменении конфигурации. Это работает при компиляции, хотя

2 голосов
/ 04 ноября 2008

Единственный способ, которым я знаю, - полностью вывести ссылку и вызвать сборку с помощью отражения. Затем следует регистрировать только в том случае, если сборка загружается.

0 голосов
/ 04 ноября 2008

Почему вы хотите это сделать?

Если вы хотите остановить ведение журнала, вы можете программно отключить ведение журнала. Хит производительности будет минимальным. (У меня был большой успех с NLog даже при регистрации кросс-процесса.)

В противном случае вам нужно обернуть его, как описано выше.

-Скотт

0 голосов
/ 04 ноября 2008

Нет причин удалять ссылку, если вы уверены, что из этой библиотеки DLL не будет использоваться код. В этом случае вы можете просто удалить DLL.

0 голосов
/ 04 ноября 2008

Я не могу придумать хороший способ сделать это. Если, возможно, вы не написали ссылку на заглушку для NLog.dll. Поскольку вы используете ссылку в своем коде, я не вижу, как вы могли бы просто удалить ее в своем выпуске.

Возможно, уже слишком поздно, но в будущем вы можете написать класс, чтобы обернуть NLog.dll, а затем просто изменить его в одном месте, чтобы он фактически не входил в версию выпуска. Или есть какой-то флаг.

...