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)highestAvailable
b)asInvoker

于 2013-06-26T16:33:49.287 に答える