我有一个 dll (DesiredApp.dll) 中的 Web 表单应用程序,其中包含一些我想在其他应用程序中使用的类 (DesiredClass.cs),例如 Windows 或控制台应用程序。我创建了一个函数 IsWeb() 来验证它是 Web 应用程序还是 Windows 应用程序(它实际上测试 HttpContext.Current 是否为空)。所以我可以(我猜)使用 http 的东西,比如会话、请求、响应,只有当它们可用时。当我尝试在我的 WindowsFormsClient 或 ConsoleClient 中添加对 DesiredApp.dll 的引用时,它不会编译。我无法添加参考。但是 DesiredApp.dll 中的 nUnit 测试在 nUnit 中工作,即使它是一个 Windows 应用程序。nUnit 如何在基于 WebForms 的 dll 中运行测试?
我怎样才能在我的 Windows/控制台应用程序中做这样的事情?
如何编写仅在 http 应用程序中使用 http 内容(如 HttpContext、Session、Request、Response)的库,但在 Windows 应用程序中不使用?