【问题标题】:WPF Desktop App read/write file permission?WPF桌面应用程序读/写文件权限?
【发布时间】:2012-12-03 09:42:25
【问题描述】:

我目前正在编写我的第一个 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

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

【问题讨论】:

    标签: wpf vb.net desktop-application


    【解决方案1】:

    如果您尝试写入系统文件或您没有权限的任何其他区域,您需要修改项目中的appmanifest.xml。

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

    还有2个执行级别,分别是

    a) 最高可用
    b) asInvoker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-14
      • 1970-01-01
      • 2012-12-07
      • 2012-02-01
      • 2015-09-05
      • 1970-01-01
      • 2018-06-07
      • 2019-02-18
      相关资源
      最近更新 更多