WPF桌面应用程序读写文件权限?

4

我目前正在编写我的第一个WPF应用程序,当我尝试将序列化文件保存到PC上的任何路径时,都会收到UnauthorizedAccessException(表示拒绝访问该路径)。

以下是该功能:

 Public Shared Sub Serialize(Of T)(ByVal compression As Boolean, _
  ByVal path As String, ByVal instance As T)

    Try
        Dim fs As Stream = New FileStream(path, FileMode.OpenOrCreate)
        Dim bf As New BinaryFormatter
        If compression Then fs = New GZipStream(fs, CompressionMode.Compress)

        bf.Serialize(fs, instance)
        fs.Close()
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub

我知道某些系统文件夹是禁止访问的,但无论我选择哪个驱动器,它都不允许我在任何地方保存。

1个回答

0

如果你试图在系统文件或其他任何没有权限的区域编写代码,那么你需要修改项目中的appmanifest.xml文件。

   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
   <security> 
    <requestedPrivileges> 
      <requestedExecutionLevel 
        level="requireAdministrator" 
        /> 
       </requestedPrivileges> 
       </security> 
     </trustInfo>

还有两个执行级别,它们是

a) highestAvailable
b) asInvoker


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接