web-dev-qa-db-ja.com

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

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

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

この問題が起きている理由を誰かが知っていますか?

編集自分の完全なプロジェクトソースコードの物理フォルダが読み取り専用であることがわかります、その読み取り専用プロパティを削除することはできません

最初に任意のボディは私が削除したフォルダの読み取り専用プロパティを削除する方法を教えてくれますが、それでもそれはそれを示しています、私はバージョン管理側からも同じ効果を試してみました。

217
ricky

私はこの問題をbinフォルダから問題のあるファイルを削除してプロジェクトを再構築することで解決しました。

261
DiligentKarma

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

116
Wahid Bitar

私はこの問題を解決しました:Visual Studioを閉じて、もう一度開いてソリューションをロードし、ソリューションを再構築してください。私の問題はTFSとVIsual Studio 2010を使用して発生しました。

68
jordenysp

プロセスVBCSCompiler.exeを終了して再構築してください。

45
MuriloKunze

私もこの問題に取り組みました。

まずbinとobjフォルダをソース管理プログラムにマップしたかどうかを確認してください。

これはあなたのファイルをバイナリフォルダから読み取り専用アーカイブに変えるかもしれず、それはそれがコードをコンパイルするときそれらを上書きすることをビジュアルスタジオに不可能にする。

これらのフォルダからマッピングを削除し、変更内容を確認してからやり直してください。

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

これが誰かに役立つことを願っています。

22
Heitor Corrêa

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

18
Alejandro Haro

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

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

  2. 2回目は、管理者として実行していることを確認しながら、VSを何度も再起動しました。また、私は何度もソリューションを再構築しました。しかし、それにもかかわらず、私は間違いを犯していました。その後、Iは関連するファイルをターゲットの場所から削除しました(ファイルは以前のビルドからコピーしようとした場所にある可能性がありますに移動して解を再構築します。その後、エラーがなくなり、すべてがスムーズに実行されました。

8
Vikram

これにより、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
  • 保存して構築
7
tomRedox

私の場合、ファイルをブロックしたのはウイルス対策でした。

7

なぜこの問題が発生しているのか、他の団体は知ることができますか?

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

6
Tigran

私は自分の.NET以外の依存関係/参照をすべて再追加したところ、うまくいきました。

3
shawn

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

3
Vinayak Savale

同じ問題を抱えていましたが、 毎回Visual Studioを再起動することは私には選択肢がありませんでした /この問題は非常に頻繁に発生するので。

installation Unlockerでインストール時にツールバーをインストールしようとします。この)のチェックを外すことを忘れないでください、このアプリケーション はロックされた ".xml"ファイルの名前を変更/削除するための高速アクセスを与えます 。私もこれが唯一の回避策であることを知っています、しかし私にとってそれはこの問題を解決するための最速の解決策でした。

3
David Leitner

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

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

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

私はVisual Studioに戻り、エラーメッセージを出していた私のソリューションを構築しました。

Voilaa ..今回はエラーなくビルドできました。

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

2
Ziggler

ソリューションに新しいセットアッププロジェクトを追加し、メインアプリケーションプロジェクトの/ bin/releaseフォルダーからセットアッププロジェクトのapplication filesフォルダーに直接ファイルを追加したときに、この問題が発生しました。セットアッププロジェクトのソース管理のおかげで、メインアプリケーションプロジェクトのビルドを完了できませんでした。

解決策:インストールに含めるすべてのファイルを含むプロジェクトの外に別のダンプフォルダを作成し、そこからそれらを追加します。新しいインストールパッケージごとにすべてのファイルをコピーすることを忘れないでください。プロセスをより円滑にするために、ビルド後のアクションを使って自動ビルドで何かできるかどうかわかります。

2
portia

昔の記事ですが、このゾンビがVS 2017に当たっています(なぜそれが単なる「いくつかの」プロジェクトなのかについては掘り下げていません)。この場合、それはユーザー許可ではなく、IIS Expressプロセスがファイルをまだ使用しています。

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

  1. 右クリック
  2. 出口
  3. この厄介な「許可が拒否されました」というメッセージがなくてもrebuildを使用できるはずです。

これは、 "Visual Studioを再起動する"ことで問題が "修正"される理由でもあります。実行すると、IIS Expressが停止します。

あ….

2
EdSF

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

2
InitialV

タスクマネージャを確認し、devenv.exeプロセスがハングアップしていないことを確認してください。暴走したプロセスを終了させて​​やり直してください。

私はこの問題を自分で解決しました。問題は、解決策を別の場所に開いたことです。閉じた後に動作します

2
Henley Chiu

同じエラーが発生しましたが、Perforceバージョン管理を使用しています。これを修正しました。

  1. クローズドPERFORCE P4Vクライアント
  2. Visual Studio 2010を再起動しました(必要ではないかもしれません)
  3. 成功したプロジェクトを再構築しました
  4. 同時に非常に幸せでうんざりしていると感じた
2
Madmartigan

MVCプロジェクトを右クリックして、クリーンオプションをクリックしてください。私は同様の問題を抱えていて、再構築の前にプロジェクトを掃除して解決しました。

1
Ehsan

文句を言うターゲットファイル(あなたの例では "Bin\Debug\test.Resources.xml")をターゲットWebサイトのbinフォルダから削除して再構築することで問題を解決することができました。

1
Rama Krshna Ila

1)ビジュアルスタジオソリューションを閉じる

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

3)c - > Windows - > Microsoft.Net - > Framework64 - > v4.030319 - >一時Asp.NETに移動します。ファイル - >このパスにあるすべてのファイルとフォルダを削除します。

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

5)ビジュアルスタジオを開きます - >管理者として実行 - >ソリューションをきれいにしてそれをビルドします私のために)

1
Krishna

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

1

私もこの問題を抱えていました。これはこれがどのように解決されるかです

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

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

1
Manoj

ファイルのパスに移動して、このファイルの読み取り専用チェックボックスをオフにします。

0
Ramy Othman

必ずパス名の後にファイル名を追加してください(path\fileName.extension)。私はこれに注意せずに1時間以上を過ごしました。

0
Marlon Vidal

私はこの問題に何度も遭遇しました、そして私が見つけた解決策はデバッグフォルダを削除してからあなたのソリューション/プロジェクトを再構築することです。私のために働いた!

0
patil.rahulk

私の場合は、Visual Studio Community 7.1.5 for Macを使用して、WindowsからOSXにプロジェクトを移植しました。そのトリックは、プロジェクト設定のUse MSBuild engine (recommended for this type of project)オプションを無効にすることでした。

enter image description here

フォルダ属性を読み取り専用に変更することは想定されていません。このエラーメッセージが表示されるのは、ソース管理では、binフォルダ以外の場所に雑多なファイルのみを保存することを前提としているためです。コントロール。

Environment.CurrectDirectory(現在使用していると思います)ではなく、%appdata%アドレスに "MyProjectName"という名前のフォルダーを作成してから使用することをお勧めします。

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

0
Bizhan

「bin\debug」内のすべての参照ライブラリを消去し、「Clean Solution」をクリックした後、ソリューションエクスプローラでSolutionを右クリックします。

そして再構築!

私にとって問題は、ソリューション内の別のプロジェクトが、最近チェックインされたのと同じ.dllファイルを持っていたことです。

最近チェックインされたバージョンの.dllを、他のプロジェクトのbinフォルダから、エラーを生成していたプロジェクトのbinフォルダに手動でコピーすると、問題が解決しました。

解決策を長期的に修正するには、複数のプロジェクトで同じ.dllファイルを使用するのではなく、ソリューション内のすべてのプロジェクトで同じ正確な.dllを使用することです。新しいバージョンをコピーするだけでした。

0
rsmith

出力パスを変更することは、Visual Studio 2015で私のために働きました。これは助けになるでしょう - ビルド出力ディレクトリを変更する

0
krishna keshav

私の原因である同じ問題に遭遇したのですが、Xamarinを使用してIOSアプリケーションのビルドホストとしてMacを使用できるように、開発フォルダを共有しました。プロジェクトは、DLLの所有権を取ったMac上で実行されていたので、私はどこからもそのDLLに変更を加えることができませんでした。 Macでアプリケーションを停止するだけで所有権が返され、フルアクセスが許可されました。私はこれがそれ以降を願​​っています。

0
Jon Willis

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

0
Joao Leme

ログオフして再度ログインしようとしましたが、うまくいきました。うまくいけば、これは他の誰かに役立つでしょう。

0
desiguy

これは、すべてのファイルとフォルダが書き込み保護されているソース管理(TFSなど)から最初にソースをロードすることによる奇妙な副産物になる可能性があります。最上位ディレクトリに移動してプロパティを確認すると、読み取り専用属性が確認されていることがわかります。これをオフにすると、システムは最上位レベルの下にあるすべてのディレクトリを書き込み可能にするかどうかを尋ねるはずです。これで解決するはずです。

0
pat capozzi

簡単な解決策:

以下のパッケージをアップグレードするだけです。

Microsoft.CodeDom.Providers.DotNetCompilerPlatform v1.0.5 to v1.0.7

それは問題を解決します。

0
Dotnetpickles