【发布时间】:2017-07-15 03:38:40
【问题描述】:
我使用了一个由 Web 应用程序和 Windows 服务调用的类库。所有这些都包含在一个解决方案中。
我想根据应用程序(Web应用程序/Windows服务)的调用执行类库中的一些代码。我遇到了编译符号并尝试实现它,但没有奏效。
请查看以下代码:
#if WEB
//call from web
//perform operation related to web
#endif
#if WindowsService
//call from WindowsService
//perform operation related to WindowsService
#endif
我已经通过Build分别在我的Web项目和Windows Service项目中设置了编译符号"WEB"和"WindowsService"项目属性选项卡。
注意:如果我在我的类库项目中设置编译符号,那么它可以工作。但这并不能满足我的要求。
任何帮助或新建议都会有所帮助!
【问题讨论】:
-
它不应该因为不同的原因而工作,其中之一是您想使用编译时工具更改运行时行为。
-
@HamletHakobyan 你能再给我一些建议吗?
-
有什么问题,库不能用于两种配置?如果只有一小部分,那是由他们中的一个人使用的。您应该将程序集拆分为总共 3 个程序集。 (主library.dll/libraryWeb.dll/libraryService.dll)
标签: c# asp.net asp.net-mvc windows-services class-library