2012-12-15 71 views
4

我正在写我的第一个WPF应用程序,当我试图将我的序列化文件保存到PC上的任何路径时,我得到一个UnauthorizedAccessException(意味着访问路径被拒绝)。WPF桌面应用程序读取/写入文件权限?

这里的功能:

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 

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

回答

0

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

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

有2个以上的执行层面,他们是

一)highestAvailable
B)asInvoker

相关问题