如何将命令行参数传递给 AppDomain.ExecuteAssembly?

发布于 2024-11-26 17:22:46 字数 406 浏览 4 评论 0原文

我正在尝试使用 AppDomain.ExecuteAssembly() 运行程序集(.NET 3.5、Windows 窗体应用程序)。

我需要这样做的原因是我可以更改应用程序基目录和探测路径(即探测/依赖路径是应用程序的父文件夹,因此 app.config 不会据我所知)

但是,我似乎无法传递命令行参数。

我正在尝试执行这样的方法:

myAppDomain.ExecuteAssembly("c:\folder\application\application.exe", Nothing,
    New String() { "argument 1", "argument 2", "argument 3" })

但是,我的应用程序没有收到参数。

我做错了什么?

I'm trying to run an assembly (.NET 3.5, Windows Form application) using AppDomain.ExecuteAssembly().

The reason I need to do this is so that I can change the application base directory and probing paths (ie. the probing/dependency path is the parent folder of the application so an app.config won't work to my knowledge)

However, I can't seem to pass command-line arguments.

I'm trying to execute the method like this:

myAppDomain.ExecuteAssembly("c:\folder\application\application.exe", Nothing,
    New String() { "argument 1", "argument 2", "argument 3" })

However, my application does NOT receive the arguments.

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初与友歌 2024-12-03 17:22:46

您将需要解析传递给 static void Main(string[] args) 函数的命令行参数,而不是使用 Environment.GetCommandLineArgs()

You will need to parse the command-line arguments that are passed to the static void Main(string[] args) function instead of using Environment.GetCommandLineArgs()

寄居者 2024-12-03 17:22:46

这是一个小型 a .NET 3.5 解决方案,其中包含两个可执行文件,它们完全符合您想要成功执行的操作,并且有用。我不知道我和你做的有什么不同。

Here is a small a .NET 3.5 solution with two executables that does exactly what you are trying to do successfully and it works. I don't know what I did different than you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文