Windows やコンソール アプリケーションなどの他のアプリケーションで使用したいいくつかのクラス (DesiredClass.cs) を含む dll (DesiredApp.dll) に Web フォーム アプリケーションがあります。IsWeb() 関数を作成して、それが Web アプリケーションか Windows アプリケーションかを確認しました (実際には HttpContext.Current が null かどうかをテストします)。したがって、セッション、リクエスト、レスポンスなどの http が利用可能な場合にのみ使用できます (推測)。WindowsFormsClient または ConsoleClient に DesiredApp.dll への参照を追加しようとすると、コンパイルされません。参照を追加できません。しかし、Windows アプリケーションであっても、DesiredApp.dll の nUnit テストは nUnit で機能します。nUnit は WebForms ベースの dll でどのようにテストを実行できますか?
Windows/コンソール アプリでそのようなことを行うにはどうすればよいですか?
httpアプリケーションにあるときだけhttpのもの(HttpContext、Session、Request、Responseなど)を使用し、Windowsアプリケーションにあるときは使用しないライブラリを作成するにはどうすればよいですか?