【发布时间】:2013-08-22 23:59:22
【问题描述】:
我有两个独立的应用程序: 第一个:
Namespace FirstApplication
Class MainWindow
Public Sub New()
InitializeComponent()
End Sub
Public Function RunBatch(Parameter as String) as Double
'Do some work
Return SomeValue
End Function
End Class
End Namespace
第二次申请:
Namespace SecondApplication
Class MainWindow
Public Sub New()
InitializeComponent()
End Sub
Public Sub RunBatch()
'Call RunBatch() from first Application, get show the result
Msgbox(RunBatch)
End Function
End Class
End Namespace
两者都是基于 WPF、.Net 4.0 的。目标是在第一个应用程序上调用第二个应用程序并在其中执行一个函数。
关键部分是这两个应用程序主要是独立使用的,并且偶尔会在第一个应用程序上进行第二次调用。因为这两个应用程序都需要作为可执行文件存在,所以我不想通过创建第一个应用程序的 dll 来解决问题 - 我需要将可执行文件和 dll 更新保持到最新状态,如果它们不同步,可能会造成灾难性后果.
所以问题是是否有可能在第二个应用程序的 AppDomain 中创建第一个应用程序的实例,并且至关重要的是,执行该实例的功能。
【问题讨论】:
-
最好的办法是将方法放在一个库中,并从您想要使用它的应用程序中引用。
-
正确的解决方案当然是将通用功能提取到类库中。任何其他选项将比那样做更多的工作和更难维护。
-
我完全同意库将是最好的,但我以前对需要频繁(一天多次)修改的库有过困难的开发经验。我应该阅读在 VS 中调试 dll。