Подтвердить что ты не робот

Visual Studio - Как удалить ссылку в режиме Release

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

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

Приветствия,

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

Зачем вам это нужно?

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

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

-Скотт