无法找到网络上的部分路径

时间:2012-12-07 15:47:28

标签: vb.net windows-services unc

我在执行Windows窗体应用程序的Windows Server 2008 R2服务器上构建了一个服务。这一切都有效,但是当我想在共享网络位置上的日志中写入错误时,我会收到错误。

但奇怪的是,当我以管理员身份从Windows窗体项目执行可执行文件时,它正在运行,但是当我在管理员帐户下运行该服务时,我收到错误。

这是我写入日志文件的代码 所以我首先尝试写入L:\,当这不起作用时,我用C:\写什么工作

    Try
        Using writer As StreamWriter = New StreamWriter("L:\subfolder\subfolder\log.txt", True)
            writer.WriteLine(Now & " - project started. Build 7-12-2012")
        End Using
    Catch ex As System.Exception
        Using writer As StreamWriter = New StreamWriter("c:\subfolder\log.txt", True)
            writer.WriteLine(Now & " - ERROR " & ex.ToString)
        End Using
    Finally
    End Try

1 个答案:

答案 0 :(得分:2)

映射驱动器通常依赖于用户和会话,因此当您在桌面上运行程序时,驱动器L存在,但是当作为服务运行时,其可能的驱动器L未映射且不存在。我建议使用完整的网络路径,例如\\servername\sharedfolder\...