在 WinForms 和 ASP 应用程序之间共享代码模块



我在VB中的ASP应用程序有许多模块,我想与WinForms VB应用程序共享。但是VB。ASP 模块包含的包含对于 WinForms 应用中是不必要的、无用的或不可能包含的。是否可以使用编译器指令使一个文件在两个项目中都工作?

看看这个问题: VB.NET 预处理器指令 它展示了如何使用预处理器指令

因此,基本上您需要将文件包含在Winforms应用程序中,并在这些文件中添加如下行:

#IF MYDEFINEFORASPNET Then
    require/import/define functions which are only for .net
#End if
#if MYDEFINEFORWINFORM Then
    require/import/function for only win form
#End if
define generic functions

实现此目的的另一种方法 - 重构代码以将泛型部件移动到单独的 DLL 中,无需重新编译即可用于这两个项目

自定义值确实是一种方式,但我想我有另一种方式。

_MYTYPE编译常量由Visual Studio管理,包含"Windows","控制台","Web"和类似的细节。我可以将 IMPORTS 语句包含在 #If 中,如下所示:

#If _MYTYPE = "Web" Then
    Imports System.Web.HttpRequest
#End If

不幸的是,重构似乎是这样做所必需的。他们可能不会让我这样做。

最新更新