問題の要約は、ネットワーク共有内の特定のファイルを削除できないことです。ファイルは、Windows サービスではなく、サーバー側でロックされているようです。この問題が発生したコンピュータはドメインの下にあり、ドキュメントやその他の Windows ライブラリはネットワーク共有上にあります。以下で説明するいくつかの解決策を試しました。
何が起こったのか: Visual Studio で Web アプリケーションをデバッグしているときに、悪名高いブルー スクリーンが表示されました。再起動してデバッグを再開しようとすると、プロジェクトがコンパイルされませんでした。「デバッグ情報ファイル z:\MY_Proj_Dir\obj\Debug\My_Proj_Name.pdb の作成中に予期しないエラーが発生しました。アクセスが拒否されました」というエラーが表示されました。以前にその場所でそのプロジェクトを何度もデバッグしたので、私は奇妙に感じました。Visual Studio でデバッグ セッションを実行中に予期しない Windows エラーが発生し、何らかの方法でロックされたに違いありません。このファイルはデバッグ情報用であり、フォーラムで問題の解決方法を調べた後、Debug ディレクトリを削除することをお勧めしました。
だからここに私が試した解決策があります: - もちろん、最初に、プロジェクトをきれいにして再構築しようとしました。- Visual Studio を閉じてコンピューターを再起動し、再試行してください。- obj\Debug ディレクトリを手動で削除してみてください: ファイル My_Proj_Name.dll および .pdb を削除できませんでした。管理者 (つまり、私自身) からこのアクションを実行する権限が必要なようです。- ディレクトリを右クリックし、[プロパティ] -> [セキュリティ] -> [詳細設定] -> [所有権] -> を開きます。所有権は my_user_name@the_domain です。私がログインしているアカウントです。所有権を同じ (my_user_name@the_domain) である唯一のオプションに変更しようとすると、サブコンテナーとオブジェクトの所有者の置き換えにチェックを入れると、「セキュリティの適用中にエラーが発生しました: アクセスが拒否されました」というエラーが表示されます。個々の .dll および .
- ユーザー アカウント制御をオフにして再起動し、ファイルを削除しようとしました。
- また、コマンドラインを使用してみましたが、うまくいきませんでした。
- 「unlocker」ツールを使用して、他の Windows サービスからファイルを解放したり、アクセス許可を書き込んだりできるかどうかを確認しましたが、それでも削除できません。
問題がコンピューターにあるかどうかを確認するために、自宅のコンピューターから VPN を使用してネットワーク ドライブにアクセスしてログインしようとしました。これらのファイルの所有権を変更することもできません。
Ubuntu VM を起動し、ネットワーク共有にアクセスしました。そこからファイルを削除しようとしました。「ファイルが存在しません」というさらに奇妙なエラー メッセージが表示されます。しかし、私はそこにそれを見ることができます!
WinSCP と putty からネットワーク共有にログインしようとしましたが、ssh または ftp でドメイン DNS にアクセスできません。おそらく、サーバーは SMB (Windows 共有) しかサポートしていません...よくわかりません。
注:その特定のフォルダーとそのファイルにのみ問題があります。ネットワーク ドライブ内の他のフォルダに問題はありません。私が学んだことの 1 つは、ネットワーク共有にあるプロジェクトをデバッグしないことです。