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

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

4

1 回答 1

0

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

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

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

a) 最高可用
b) asInvoker

于 2013-06-26T16:33:49.287 回答