ファイルをコピーできません-パスへのアクセスが拒否されました


238

Visual Studio 2005を使用しています。最初にバージョン管理からコードを取得した後、c#.netアプリケーションは正しく実行されます。しかし、いくつかの変更を行った後、ビルドすると次のエラーが発生します。

エラー383ファイル ".. \ root \ leaf \ Bin \ Debug \ test.Resources.xml"を "Bin \ Debug \ test.Resources.xml"にコピーできません。パス 'Bin \ Debug \ test.Resources.xml'へのアクセスが拒否されました。li.rollmodel

この問題が発生している理由を誰かが知っていますか?

編集プロジェクトのソースコードフォルダー全体が読み取り専用であり、読み取り専用のプロパティを削除できないことがわかります。

最初に、このフォルダの読み取り専用プロパティを削除する方法を誰かに教えてもらえますか?削除しようとしましたが、読み取り専用プロパティが保持されます。バージョン管理側からも試してみましたが、うまくいきませんでした。


これはネットワーク共有にありますか?マシンの管理アクセス権がありますか?この質問は、serverfaultまたはスーパーユーザーに適しています。
arunkumar 2011

いいえ、自分のマシンを使用しています。管理者権限があります
厄介です'20

私は、手動porbably問題は、読み取り専用ファイルでMSBUILDに関連して必要な場所、1つの場所からファイルをコピーすることによってこの問題を解決
リッキー

回答:


277

binフォルダーから問題のあるファイルを削除し、プロジェクトを再ビルドすることで、この問題を解決しました。


50
古いポスト、私は知っています、しかし私は今同じ問題を抱えていました。VSも閉じられていることを確認します。VSがフォルダーを削除するためのアクセスを拒否する場合があるためです
Eon

1
少し注意:最初は理解できませんでした。これらのファイルは、dllの出力フォルダーではなく、メインプロジェクトの出力フォルダーから削除する必要があります。したがって、ここで警告します:)
ピエロアルベルト

6
私の場合、VSを閉じてもフォルダを解放して削除することはできませんでした。ProcessExplorerは、「VBCSCompiler.exe」がまだそれを使用していることを示しました。この場合、WindowsからサインアウトしてWindowsにサインインする(またはプロセスを強制終了する)ことで問題が解決し、ソリューションを再構築してすべてを再び機能させることができました。
S.ジェンセン

2
私の場合、フォルダーとソリューションがReadOnlyになり、その後VSでビルドに問題が発生したのは、一部のファイルがGoogleDriveと同期できず、なんらかの理由でそのプロセスによってロックされたためです。したがって、適切に再構築するには、GoogleDriveを閉じる必要があり、それで問題なく構築されました。
コンラッド

1
犯人はBitdefender Antivirus Freeでした。
ワーウィック

123

フォルダーが読み取り専用でないことを確認して、ソリューションを再構築してください


12
緑色で塗りつぶされた「読み取り専用」チェックボックスを削除しようとしています。[適用]をクリックしてから[OK]をクリックし、そのフォルダのプロパティをもう一度確認すると、以前の状態([読み取り専用]チェックボックスが緑色で塗りつぶされている)が再び表示されます。これについて解決策を持っている人はいますか?
Vikram 2015

また、ファイルがロックされていないことを確認してください。私の場合、ファイルは共有にあり、他の誰かがそれを開いていました。
Dan Bechard、2015年

読み取り専用属性を削除する前にVisual Studioを閉じます。問題のファイルが使用中である(ロックされている)可能性があるため
Gautam Jain

4
ビルドをブロックするDLLのReadOnlyおよびHidden属性をクリアするためのVisual Studio拡張機能を作成しました。UnBlockDllExtension: marketplace.visualstudio.com/...
vrnithinkumar

69

私はこの問題を解決しました:Visual Studioを閉じて再度開き、ソリューションを読み込み、ソリューションを再構築します。TFSとVIsual Studio 2010を使用して問題が発生しました。


22
VS2013で同じ問題を追加します。IT群衆の古典的なケース。「こんにちは、ITです。電源を入れ直してみましたか?」
Maxime Rouiller 2014年

1
同じシナリオ:TFSとVS2010。同じ問題。同じソリューション。+1
ajeh

2
これはVS2015でも発生しました:p
Yoo Matsuo

4
VS2017でも同じ
arame3333

1
私はすでにこれを修正しようと
頑張って

50

プロセスVBCSCompiler.exeを強制終了して再構築します。


3
これは私のためにそれを解決したものです。親切な見知らぬ人に感謝します:D
Morsus

うん、これだ。
kal kokah

どうもありがとうございました。:D
Agent007 2018年

いつかそれは必ずしも私のために働いた、私は何か他のものは、この問題の原因となっている、あまりにもあり、それは、この問題の一部解決されると言わなければならない
アミットBisht

これも試してみてください。stackoverflow.com
a / 12740768/2445111

23

私もこの問題に踏み込みました。

まず、binおよびobjフォルダーをソース管理プログラムにマップしたかどうかを確認します。

これは、ファイルをバイナリフォルダーから読み取り専用アーカイブに変換する可能性があり、コードをコンパイルするときにVisual Studioがそれらを上書きすることを不可能にします。

これらのフォルダーからマッピングを削除して、変更を確認し、再試行してください。

TFS(Team Foundation Server)とVisual Studio 2010を使用して問題が発生しました。

これが誰かを助けることを願っています。


1
Heitorolecarteの答えが私の問題を修正し、これがVisual Studio 2012およびTFS2010で発生する可能性があることを追加したかっただけです。
ロドニー

20

管理者としてVisual Studioを実行する


1
注:ここでは常にデフォルトにより、管理者として実行するように短く、簡単な方法であるstackoverflow.com/questions/12257110/...
wmebane

この回答は、出力フォルダーの "Users"に書き込み権限を追加することを知っていたことを十分に教えてくれました-そしてそれは私の問題を即座に解決しました(これは初めてでも公開できなかったことです)。
X Goodrich

9

私はVisual Studio 2013を使用しています。この問題に2回直面しました。

  1. 最初は、管理者権限なしでVisual Studioを実行していました。そのため、VSを閉じ、「管理者として実行」オプションを使用してVSを開始しました。これは私の問題を解決しました。

  2. 2回目は、VSを何度も再起動しました。そのたびに、VSを管理者として実行していることを確認しています。また、ソリューションを何度も再構築しました。しかし、それにもかかわらずエラーが発生しました。その後、関係するファイルをターゲットの場所から削除し(ファイルは既に存在していたため、コピー先の場所にある以前のビルドのものである可能性があります)、ソリューションを再構築しました。その後、エラーはなくなり、すべてがスムーズに実行されました!



7

これはVisual Studio 2017で再び頭をもたげてきました。この場合、原因はApplication InsightsプロセスのServiceHub.DataWarehouseHost.exeです。

スレッド警告MSB3026で説明されている回避策があります:「obj \ Debug \ netcoreapp1.1 \ src.pdb」を「bin \ Debug \ netcoreapp1.1 \ src.pdb」コピーできませんでした。これにより、事前ビルドが追加されますプロジェクトがビルドされるたびにプロセスを強制終了するイベント。そのリンクからの引用:

  • プロジェクトのプロパティを右クリック
  • プロパティを選択
  • ビルドイベント
  • ビルド前のイベントコマンドライン
taskkill /IM ServiceHub.DataWarehouseHost.exe /F 2>nul 1>nul
Exit 0
  • 保存してビルド

6

この問題が発生している理由を誰もが知ることができますか?

手動でコピーして問題を解決したという回答を見ると、作業していたコードは他のユーザー(管理者権限も持つ)によって作成されたため、ロックされていたと言えます。コピーを実行することによって-?貼り付けて、必要なすべてのアクセス権を持つソースの独自のコピーを作成しました。注意すべき唯一のことは、この場合、この他の開発者があなたのコピーで作業する必要がある場合、彼/彼女はあなたが以前に得たものと同じ問題に飛び込むことです。


6

まず、ファイルの場所に移動します。次に、ファイルのフォルダを右クリックし、[プロパティ]-> [ 読み取り専用オプション ]をオフにして、ファイルとそのサブフォルダに適用します。それは私の問題を解決しました。ハッピーコーディング!


3

私はすべての非.NET依存関係/参照を再度追加しましたが、それでうまくいきました。


3

この問題は自分で解決しました。問題は、別の場所でソリューションを開いてもらうことでした。それを閉じた後、それは動作します


私もこれをしました。別のマシンでデバッグしていたので、常に最初に明白な簡単なものを最初にチェックしました。宛先はネットワークドライブ上でした。
Simon Unsworth

3

同じ問題がありましたが、たびたびVisual Studioを再起動することはできませんでした。問題が頻繁に発生することがあるからです。

私はUnlockerインストールしてそれを処理しました(インストール時にツールバーをインストールしようとするので、これをオフにすることを忘れないでください)。このアプリケーションは、ロックされた「.xml」ファイルの名前を変更/削除するための高速アクセスを提供します。これも回避策にすぎないことはわかっていますが、私にとっては、この問題を解決するための最も速い解決策でした。


これをありがとう。私は過去1年間この問題を抱えていて、管理者とそうでない人を切り替えるためだと思っていましたが、今では、それがファイル。
yeejuto 2015

3

古い記事ですが、このゾンビはVS 2017を攻撃しています(なぜ「一部の」プロジェクトにすぎないのかは掘り下げていません)。この場合、ユーザーのアクセス許可ではなく、IIS Expressプロセスがファイルを使用しています。

タスクトレイにアイコンが表示されます IIS Expressアイコン

  1. 右クリック
  2. 出口
  3. rebuildこの迷惑な「許可が拒否されました」というメッセージが表示されないようにする必要があります。

これは、「Visual Studioの再起動」が問題を「修正」する理由でもあります。そうすると、IIS Expressが停止します。

うーん...


2

この問題は、新しいセットアッププロジェクトをソリューションに追加し、メインアプリケーションプロジェクトの/ bin / releaseフォルダーからセットアッププロジェクトのアプリケーションファイルフォルダーに直接ファイルを追加したときに発生しました。セットアッププロジェクトのソース管理により、メインアプリケーションプロジェクトのビルドを完了することが常に妨げられていました。

解決策:インストールに含まれるすべてのファイルを含むプロジェクトの外側に別のダンプフォルダーを作成し、そこから追加します。新しいインストールパッケージごとにすべてのファイルをコピーすることを覚えておかなければならないので、これは苦痛です。自動化されたビルドでプロセスをスムーズにするために、ビルド後のアクションで何かできるかどうかを確認するかもしれません。


2

ソリューションにファイルをコピーする場合は、ファイルが読み取り専用モードになっていないことを確認してください。ファイルを右クリックして、属性オプションのチェックを外すと問題が解決しました。


2

同じエラーが発生しましたが、Perforceバージョン管理を使用しています。修正方法は次のとおりです。

  1. クローズドPERFORCE P4Vクライアント
  2. Visual Studio 2010を再起動しました(必要でない場合があります)
  3. 成功したプロジェクトを再構築
  4. 非常に満足し、同時にうんざりしていると感じた

1
私は同じ設定を持っていますが、ステップ3と4に到達できませんでした:(
user3260977

2

私も同じ問題を抱えていました。パスへのアクセスが拒否されたため、コピーできないというエラーメッセージが表示されました。私の場合、すべてのdllやxmlファイルなどは、D:\ TFS \ Example \ Bin \ Debugフォルダーにあります。

Binフォルダーを右クリックして[プロパティ]をクリックし、[属性]で[読み取り専用]チェックボックスがオンになっていることを確認しました。

[読み取り専用]チェックボックスをオフにして[適用]をクリックし、表示された新しいポップアップで[OK]をクリックしました。

Visual Studioに戻り、エラーメッセージが表示されるソリューションをビルドしました。

Voilaa ..今回はエラーなしで正常にビルドされます。

これが完璧かどうかはわかりませんが、問題を解決するためにこれを行いました。


2

タスクマネージャーを確認し、devenv.exeプロセスがハングしていないことを確認します。暴走したプロセスを強制終了して、再試行してください。



1

私は古いスレッドを知っていますが、数分前の私のように、答えを探している人のために、まずコンピュータを再起動することをお勧めします。それだけで解決しました。以前は手動でフォルダにコピーすることもできませんでした。


1
私も助けました。2020ギャング
Vitor Ceolin

1

MVCプロジェクトを右クリックして、クリーンオプションをクリックします。同様の問題があり、再構築する前にプロジェクトをクリーンアップして解決しました。


1

私も同じ問題を抱えていました。ルートフォルダーの読み取り専用プロパティのチェックを外して修正しました。


時々解決策はこれと同じくらい簡単で明白です。頭を叩いて、複雑で無限の手順を回避する代わりに、これらのタイプの単純な可能性を確認するだけで、あなたの人生ははるかに簡単になります。StackOverflowには、絶望的な瞬間に必要な支援を提供できる専門家の広大なコミュニティを提供してくれたことに感謝しています。
Choudhury Saadmaan Mahmid

1

私もこの問題を抱えていました。これを解決する方法は次のとおりです

  • binプロジェクトからフォルダを除外します。
  • ビジュアルスタジオを閉じます。
  • Cドライブのディスククリーンアップ。
  • Visual Studioでプロジェクトを再度開きます。
  • そして、ソリューションを再構築します。
  • プロジェクトを実行します。

このプロセスは私にとってはうまくいきます。



1

問題のあるターゲットファイル(例では「Bin \ Debug \ test.Resources.xml」)をターゲットWebサイトのbinフォルダーから削除して問題を解決し、それを再ビルドしました。これで修正されました。


1

1) Visual Studioソリューションを閉じます

2)コマンドプロンプトに移動->管理者として実行-> iisreset / stop

3) c-> Windows-> Microsoft.Net-> Framework64-> v4.030319-> Temporary Asp.NET Files->このパスのすべてのファイルとフォルダーを削除します。

4)コマンドプロンプトに戻ります-> iisreset / start

5)次に、ビジュアルスタジオを開きます->管理者として実行します->ソリューションをクリーンアップしてビルドします(再構築しないでください。


0

フォルダ属性をnot-readonlyに変更する必要はありません。このエラーメッセージが表示されるのは、ソース管理では、その他のファイルはbinフォルダー以外の場所にのみ保存すると想定されているためです。これは、.Netによって自動的に作成されるファイル用に予約されており、ソースに追加したくないためです。コントロール。

Environment.CurrectDirectory(現在使用していると想定しています)を使用する代わりに、%appdata%アドレスに「MyProjectName」という名前のフォルダーを作成し、次を使用することをお勧めします。

System.IO.Path.Combine(Environment.GetEnvironmentVariable("appdata"),"YourProjectName")


0

私の原因である同じ問題が発生しました。Xamarinを使用するIOSアプリケーションのビルドホストとしてMacを使用できるように、開発フォルダーを共有しました。プロジェクトはdllの所有権を取得したMacで実行されていたため、他の場所からそのdllに変更を加えることができませんでした。Macでアプリケーションを停止するだけで所有権が返され、再びフルアクセスが許可されました。私はこれがそれ以来作ることを望みます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.