2016-12-16 71 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 

它跳过线,我无法观察值。我错误地认为这是一个问题。但是我在发布模式中学到的是这是正常的。我为发布这个问题表示歉意,有人可以关闭它吗?

谢谢大家。

相关问题