我正在编写我的第一个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
我知道某些系统文件夹不受限制,但无论我选择哪种驱动器,它都不会让我保存在任何地方。
答案 0 :(得分:0)
如果您尝试写入系统文件或您没有权限的任何其他区域,则需要修改项目中的appmanifest.xml。
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
/>
</requestedPrivileges>
</security>
</trustInfo>
还有2个执行级别,它们是
a)highestAvailable
b)asInvoker