【问题标题】:StreamWriter object not using provided absolute pathStreamWriter 对象不使用提供的绝对路径
【发布时间】: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


【解决方案1】:

我也遇到过类似的情况。这个提示使我找到了解决方案。如果路径包含与应用程序相同的名称,它将被解释为相对路径。更改文件夹名称为我修复了它。

【讨论】:

    猜你喜欢
    • 2012-08-18
    • 2017-12-06
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多