2015-06-16 74 views
1

我正在開發使用Visual Studio的Visual Basic應用程序。我的應用程序在命令行參數下運行良好,直到我第一次編譯「發佈」爲止。現在,如果我嘗試運行調試文件夾中生成的可執行文件,則會拋出一個System.IndexOutOfRangeException。如果我嘗試在Visual Studio中運行它,我會收到以下警告:發佈應用程序後無法訪問命令行

當前項目設置指定將使用特定安全權限調試項目。在這種模式下,命令行參數不會傳遞給可執行文件。你想繼續調試嗎?

再沒有錯誤,但不創建在debug文件夾一個新的.exe文件運行的代碼。

發生了什麼事?我該如何解決這個問題?我的代碼工作得很好,直到我試圖「發佈」它。我沒有改變一條線。

+0

你爲什麼要發佈?發佈用於「運行一次」類型的應用程序。本地安裝(不論是xcopy還是msi)不使用發佈。 – Richard

+0

現在我現在....我是一個新手,我只是好奇會發生什麼...... – ffa

+0

@Richard:「跑一次」?你的意思是[ClickOnce](http://en.wikipedia.org/wiki/ClickOnce)? –

回答

0

Visual Studio中的「發佈」功能使用ClickOnce部署技術。 ClickOnce有一個非常好的概述,它與MSI部署的不同之處在於https://msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx

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部署。

相關問題