【发布时间】:2019-06-29 18:01:20
【问题描述】:
我的代码如下:
Dim writer As New StreamWriter("S:\folder\text.txt") 'S: is a mapped drive to a share on our server
此代码运行时出现错误:
在 mscorlib.dll 中发生了“System.NotSupportedException”类型的未处理异常
附加信息:不支持给定路径的格式。
所以我尝试了这个:
Dim writer As New StreamWriter("\\server\share\folder\text.txt")
每当运行此代码时,我都会收到错误消息:
在 mscorlib.dll 中发生“System.IO.DirectoryNotFoundException”类型的未处理异常
附加信息:找不到路径“S:\projectfolder\project\bin\Debug\\ server\share\folder\text.txt”的一部分。
当我很确定S:\... 或\\server\... 应该是绝对路径时,程序似乎正在尝试使用我提供的路径作为相对路径。我已经在其他程序中成功使用过这段代码,所以很混乱。
【问题讨论】:
-
代码是否在具有该驱动器映射的用户帐户下运行?
-
是的,运行代码的帐户已映射驱动器。
-
在此代码中未使用 Option Strict On。更改它意味着更新许多其他部分,因此我选择创建一个新项目以使用 Option Strict On 进行测试。我仍然得到同样的例外。 IO.Directory.GetDirectories("S:\") 成功返回目录。
-
实际文件名为“cgrlist.txt”。当我粘贴到代码中时,Shift-right-click -> Copy as Path 返回了相同的路径名。原来,我进入文本文件的属性,进入安全选项卡,将对象名称复制并粘贴到代码中。
-
感谢您的所有帮助@AndrewMorton
标签: vb.net visual-studio-2010 streamwriter