调试 ClickOnce 应用程序并传递启动命令参数

Debugging a ClickOnce application and passing startup command parameters

在传统的 WinForms 应用程序中,您可以通过项目设置的调试部分传递命令行参数。当您想在 运行 应用程序 Visual Studio 中测试各种启动参数时,这非常有用。

对于 ClickOnce 应用程序,我的理解是 URL 参数是从 AppDomain.CurrentDomain.SetupInformation.ActivationArguments 中提取的。但是,命令行参数部分将被忽略。所以我的问题是,如何传递在应用程序启动过程中从 AppDomain.CurrentDomain.SetupInformation.ActivationArguments 检索到的 URL 查询。目前我有一个应用程序,如果传递的 URL 为空,它会立即退出。所以你可以想象,这让 development/testing 有点困难。

我不认为真的有办法做你想做的事。 如果你想做这样的事情,请尝试使用:

#if DEBUG

//Code goes here

#endif

如果当前版本设置为 "Debug",此代码将仅为 运行。 如果你愿意,你可以通过项目设置使用正常的 Command-Line-Arguments 并通过以下方式访问它们:

Environment.GetCommandLineArgs();

或者如果你在 main 方法中(例如 App.Xaml.cs 在 Application_Startup 中)你可以这样做:

e.Args //or something similar

希望对您有所帮助。