2 つのスタンドアロン アプリケーションがあります。
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
2 番目のアプリケーション:
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 ベースです。目標は、最初のアプリケーションで 2 番目のアプリケーションを呼び出し、そこで関数を実行することです。
重要な部分は、両方のアプリケーションが主に独立して使用され、最初のアプリケーションで 2 番目の呼び出しが発生する場合があることです。両方のアプリケーションが実行可能ファイルとして存在する必要があるため、最初のアプリケーションの dll を作成して問題を解決したくありません。実行可能ファイルと dll の両方の更新を最新の状態に維持する必要があり、それらが同期しなくなった場合に悲惨な結果を招く可能性があります。 .
したがって、問題は、2 番目のアプリケーションの AppDomain 内に最初のアプリケーションのインスタンスを作成し、決定的にそのインスタンスの関数を実行することが可能かどうかです。