2016-12-16 72 views
-1

調試模式,我可以成功地獲得可執行文件路徑的目錄,在這裏是如何被實現的參考鏈接:無法獲取應用程序文件夾路徑在釋放模式(.NET)

Obtaining Application Folder Path

問題是這些方法都不能在發佈模式中生效。它不會出錯,但是代碼行會完全跳過。代碼段將不執行的一個例子是:

Dim strDir as String = Environment.CurrentDirectory 

在調試模式下,上述執行正常(strDir將包含適當的目錄中)。在發佈模式中,上面將完全跳過執行,將strDir留作Nothing或空。關於我能做什麼的任何想法?

謝謝!

+1

部署時,您可能沒有權限讀取/寫入文件或創建目錄到相對於應用程序安裝位置的位置。該代碼與鏈接中的代碼沒有任何相似之處,Function()只是......異想天開。 Windows爲應用程序數據提供了多個文件夾 – Plutonix

+0

由此,您可以進行設置,以便調試應用程序從VS文件夾以外的文件夾運行。使用「項目」 - >「屬性」下的「調試」選項卡 – Plutonix

+1

該帖子中沒有類似與使用「應用程序文件夾路徑」相關的任何代碼...請查看[MCVE]指導和[編輯]文章以將代碼示例,正文文本和標題。 –

回答

0

發佈模式調試不同於調試調試模式。由於代碼被優化,逐行掃描代碼並不那麼直接;一些流路可能不同。

我會這麼說...在調試和發佈模式下經常編譯代碼非常重要,這是我從未做過的事情。除了我以某種方式在釋放模式下擊中了另一個無關的錯誤這一事實之外,沒有其他問題出現,並且我嘗試了一下代碼。我注意到,當我試圖跨越這條線:

Dim strDir as String = Environment.CurrentDirectory 

它跳過線,我無法觀察值。我錯誤地認爲這是一個問題。但是我在發佈模式中學到的是這是正常的。我爲發佈這個問題表示歉意,有人可以關閉它嗎?

謝謝大家。

相關問題