Pergunta

Estou desenvolvendo uma biblioteca para uso em outros aplicativos e esta biblioteca tem muitas declarações de depuração e registro graças ao NLOG.

É possível excluir a referência ao nlog.dll quando eu mudar para o modo de liberação?

Saúde,

Foi útil?

Solução

Você pode editar manualmente o arquivo csproj e fazer algo assim:

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

Isso só faz referência a essa montagem em depuração. Porém, eu não recomendaria fazer isso com frequência, porque esse comportamento não se reflete na lista de referências no Visual Studio quando você altera a configuração. Funciona quando compilar embora

Outras dicas

A única maneira de saber é retirar completamente a referência e chamar a assembléia por meio de reflexão. Em seguida, você deve registrar apenas se o conjunto carregar.

Não consigo pensar em uma boa maneira de fazer isso. A menos que você tenha escrito uma referência de stub para nlog.dll. Como você está usando a referência no seu código, não vejo como você pode removê -lo em sua versão.

Provavelmente tarde demais agora, mas no futuro você pode escrever uma aula para embrulhar o nlog.dll e, em seguida, alterá -la em um só lugar, para que ele não faça login na versão de liberação. Ou tenha algum tipo de bandeira.

Não há razão para remover uma referência caso você tenha certeza de que nenhum código será usado nessa DLL. Nesse caso, você pode simplesmente remover a DLL.

Por que você gostaria de fazer isso?

Se você deseja parar de registrar, poderá desativar programaticamente o log. O sucesso do desempenho será mínimo. (Tive um grande sucesso com o NLOG, mesmo ao registrar o processo cruzado.)

Caso contrário, você precisa envolvê -lo como descrito acima.

-Scott

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top