发布应用程序后无法访问命令行

时间:2015-06-16 10:10:02

标签: vb.net visual-studio visual-studio-2013

我正在使用Visual Studio开发Visual Basic应用程序。我的应用程序在命令行参数下工作正常,直到我第一次编译“发布”。现在,如果我尝试运行调试文件夹中生成的可执行文件,则会抛出System.IndexOutOfRangeException。如果我尝试在Visual Studio中运行它,我会收到此警告:

  

当前项目设置指定将使用特定安全权限调试项目。在此模式下,命令行参数不会传递给可执行文件。你还想继续调试吗?

然后代码运行没有错误,但是它不会在调试文件夹中创建一个新的.exe文件。

发生了什么事?我该如何解决这个问题?我的代码工作得很好,直到我试图“发布”它。我没有换过一行。

1 个答案:

答案 0 :(得分:0)

Visual Studio中的“发布”功能使用ClickOnce部署技术。在https://msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx,可以很好地概述ClickOnce及其与MSI部署的区别。

MSDN主题“如何:在ClickOnce应用程序中检索查询字符串信息”https://msdn.microsoft.com/en-us/library/ms172242(v=vs.90).aspx确认“无法将命令行参数传递给ClickOnce应用程序。如果要提供参数在应用程序中,您必须通过Web部署它并在URL中提供查询字符串参数。“

您可以为ClickOnce应用程序创建仍然创建文件关联,但它需要特定的配置步骤以及修改的代码。以下博客文章将指导您完成此操作: http://blogs.msdn.com/b/mwade/archive/2008/01/30/how-to-add-file-associations-to-a-clickonce-application.aspx

总的来说,除非您特别需要使用ClickOnce,否则我建议坚持使用XCopy或MSI部署。