【发布时间】:2011-10-14 05:55:35
【问题描述】:
我正在尝试使用 AppDomain.ExecuteAssembly() 运行程序集(.NET 3.5,Windows 窗体应用程序)。
我需要这样做的原因是我可以更改应用程序基目录和探测路径(即探测/依赖路径是应用程序的 parent 文件夹,因此是 app.config据我所知是行不通的)
但是,我似乎无法传递命令行参数。
我正在尝试执行这样的方法:
myAppDomain.ExecuteAssembly("c:\folder\application\application.exe", Nothing,
New String() { "argument 1", "argument 2", "argument 3" })
但是,我的应用程序没有收到参数。
我做错了什么?
【问题讨论】:
-
能否展示application.exe中的相关代码?
-
当然,但我实际上只是在 My.Application.CommandLineArgs、Console.WriteLine(s) 中执行 For Each s As String...(你懂的)
-
您是否正在启动同一个应用程序并且它是否被标记为“单实例”应用程序?
-
application.exe 正在从不同的程序集执行(我们称之为 main_program.exe) - 另外,我尝试使用 ExecuteAssembly 运行其他程序集,但它们似乎都没有收到任何命令行参数当我使用 ExecuteAssembly() 方法时。
标签: .net command-line appdomain command-line-arguments .net-assembly