あるマシンのリモートフォルダー(「ソース」フォルダーはマップされたドライブ-「Z:\ folder」)のファイルとフォルダーを別のマシンの別のリモートフォルダー(「宛先」)にマージするC#Windowsフォームアプリケーションを作成しました。 folderは、共有フォルダー( "\\ computername \ sharedfolder")へのUNCパスです。私は両方のフォルダに対する完全な権限を持っています。ローカルマシンでプログラムを実行すると正常に動作しますが、ソースフォルダー内からプログラムを実行しようとすると、セキュリティ例外が発生して失敗します。
宛先フォルダー(つまり、DirectoryInfo(@ "\\ computername \ sharedfolder")のDirectoryInfoコンストラクターを呼び出すと、失敗が発生します。問題は、マップされたドライブからプログラムを実行しているためだと思います。回避策はありますか?
具体的な例外は次のとおりです。タイプ'System.Security.Permissions.FileIOPermission、mscorlib、Version = 2.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'のアクセス許可の要求が失敗しました。
アップデート
さて、アプリケーションをVisual Studio 2008(以前は2005年にコーディングされていました)に取り込み、.NET 3.5フレームワークをターゲットにして、コンパイルして再試行しました。
まったく同じエラーが発生しました。
更新-解決策
.NET 3.5で試してみましたが、機能しませんでしたが、3.5SP1と言っていることに気づきました。サービスパックは間違いなく必要です。
問題が解決しました。ありがとうございました。