c#从另一个应用程序运行我的c#DLL

c#从另一个应用程序运行我的c#DLL,c#,winforms,dll,exe,C#,Winforms,Dll,Exe,我有一个WinForms应用程序,我已经编译成DLL 我想使用dll从另一个winforms应用程序运行并启动该应用程序。 因此,应用程序A将有一个运行应用程序B的选项 实现这一目标的最佳方式是什么?我应该为我的win forms应用程序使用DLL,还是EXE是更好的选择 谢谢 当应用程序B完全独立于应用程序A时,您应该使用EXE并以 (大约)。否则,您可以使用new实例化应用程序A中应用程序B的主窗口类,以“启动”该应用程序。在这种情况下,您也可以使用EXE而不是DLL,DLL也可以作为程序集

我有一个WinForms应用程序,我已经编译成DLL

我想使用dll从另一个winforms应用程序运行并启动该应用程序。 因此,应用程序A将有一个运行应用程序B的选项

实现这一目标的最佳方式是什么?我应该为我的win forms应用程序使用DLL,还是EXE是更好的选择


谢谢

当应用程序B完全独立于应用程序A时,您应该使用EXE并以
(大约)。否则,您可以使用
new
实例化应用程序A中应用程序B的主窗口类,以“启动”该应用程序。在这种情况下,您也可以使用EXE而不是DLL,DLL也可以作为程序集引用。

当应用程序B完全独立于应用程序a时,您应该使用EXE并以
(大约)。否则,您可以使用
new
实例化应用程序A中应用程序B的主窗口类,以“启动”该应用程序。在这种情况下,您还可以使用EXE而不是DLL,DLL也可以作为程序集引用。

我会将.DLL转换为.EXE。如果您有.dll文件的源代码,则可以在“项目属性”页面上修改项目输出,以输出可执行二进制文件。如果没有源代码,则可以创建一个生成为.exe的新项目。新项目应该引用并调用.dll文件

要从C#应用程序启动.exe(假设.exe与主应用程序.exe位于同一位置),请按如下方式调用:

Process.Start("MyOtherApplication.exe", "arg0 arg1 arg2");
这将作为一个完全独立的windows进程启动应用程序。因此,终止第一个应用程序不会对第二个应用程序产生影响


@Matthias建议使用
new
操作符启动另一个应用程序。如果您希望两个应用程序具有相同的生存期,并且可能共享内存,那么这可能是合适的。

我会将.dll转换为.exe。如果您有.dll文件的源代码,则可以在“项目属性”页面上修改项目输出,以输出可执行二进制文件。如果没有源代码,则可以创建一个生成为.exe的新项目。新项目应该引用并调用.dll文件

要从C#应用程序启动.exe(假设.exe与主应用程序.exe位于同一位置),请按如下方式调用:

Process.Start("MyOtherApplication.exe", "arg0 arg1 arg2");
这将作为一个完全独立的windows进程启动应用程序。因此,终止第一个应用程序不会对第二个应用程序产生影响

@Matthias建议使用
new
操作符启动另一个应用程序。如果您希望两个应用程序具有相同的生存期,并且可能共享内存,那么这可能是合适的。

DLL不会自行运行(无GUI),因此matthias答案的第一部分可能是您需要的。..DLL不会自行运行(无GUI),因此matthias答案的第一部分可能是您需要的。。