Array
(
)

Usar mesma dll em aplicações windows e webforms, programar para que a dll só use recursos http quando em web

Vitor Rubio
   - 30 jul 2013

Eu tenho uma aplicação web forms em uma dll (Aplicacao.dll) que contém cetas classes (ClasseDesejada.cs) que eu gostaria de usar em outras aplicações windows e console.
Eu criei uma função chamada IsWeb que identifica se a aplicação roda na web ou não (basicamente testo se existe um httpcontext). Assim eu uso coisas como session, response etc somente se a aplicação tem suporte a web.
Quando eu tento adicionar uma referência a Aplicacao.dll no meu programinha windows/console simplesmente ele não compila, e reclama a falta da referência. Mas os testes do nUnit nessa Aplicacao.dll rodam, mesmo nUnit sendo uma aplicação windows.
Como o nUnit faz isso, de testar uma dll Web?
Como eu posso fazer o mesmo?
Como eu posso escrever uma biblioteca de classes que use a parafernália http apenas quando estiver disponível (em um WebForms ou MVC Web Application) mas ignore tudo isso quando estiver em windows/console?