12

最近、コンピューターを切り替えて、すべてのプロジェクトを新しいローカル ドライブにコピーしました。現在使用しているコンピューターを再フォーマットしたので、ほとんどクリーンなマシンでした。すべてが正常に動作しているように見えましたが、古いマシンから実行していたプロジェクトの 1 つを開くと、コンパイルできなくなり、次のエラー メッセージが表示されます: 出力ファイル 'c:\Users に書き込めませんでした\user\Documents\Projects\RegressionWeb\OnetouchUpload\obj\debug\OneTouchUpload.dll' -- 「アクセスが拒否されました。」

ソリューションにあるプロジェクトごとに、そのようなエラーが発生します。また、このエラーが発生します: デバッグ情報ファイル 'c:\Users\user\documents\projects\RegressionWeb\RegressionWeb\obj\Debug\RegressionWeb.PDB' の作成中に予期しないエラーが発生しました アクセスが拒否されました

高低を検索しましたが、特にASP.NETとIISに関連してオンラインで見つけることができる唯一の同様の問題であり、どちらも私のプロジェクトとは何の関係もありません(私のプロジェクトは、いくつかのサポートクラスを持つ主にNUnitテストのクラスライブラリです)。

私は自分のローカル マシンの管理者です。takeown /f .\RegressionWeb /r /dy を使用してプロジェクト内のすべてのファイルの所有権を既に取得しており、読み取り専用のステータスが何もないようにしようとしましたが、読み取りを変更しようとすると、次のファイルでエラーが発生しました- 親フォルダーのプロパティのみ: ファイルに属性を適用中にエラーが発生しました: C:...\Regressionweb.sln.DotSettings.user アクセスが拒否されました

基本的に、このプロジェクトは完全に機能しており、古いコンピューターからのエラーはありませんでした。すべてをコピーした後、この DotSettings.user ファイルは変更されず、Visual Studio はどの dll ファイルにも書き込むことができません。答えは、Visual Studio の設定のどこかにあるはずです。すべての提案をいただければ幸いです。

4

6 に答える 6

13

カールは正しいと思います。かつて同様の状況がありましたが、問題のファイルを削除し、ソリューションをクリーンアップしてから再構築しました。プロジェクトでそのファイルが必要な場合は、再作成する必要があります。私の場合、再作成されなかったため必要ありませんでしたが、プロジェクトは問題なく実行されました。

私がお勧めするもう1つのこと。親フォルダーの読み取り専用属性をオフに選択し、この設定を選択してすべてのサブフォルダーとファイルを再帰的に選択している可能性がありますが、それが起こっているという意味ではありません。すべてのサブフォルダーとファイル (特にエラーとして表示されるもの) について、それぞれを個別に検査し、読み取り専用属性がオフになっていることを確認します。

于 2013-08-16T17:48:27.233 に答える
3

%TMP%/%TEMP% フォルダへのアクセス権をアプリ プール ユーザーが持っていない場合、同じエラーが表示される場合があるようです。

アプリ プールを実行しているユーザーの一時フォルダーに対する IIS_IUSRS 読み取りおよび変更アクセスを許可する必要があります。

これは、アプリ プール ユーザーのプロファイルの一時フォルダー (c:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp など) か、c:\windows\temp のシステム一時フォルダーのいずれかです。

于 2014-12-05T07:38:29.917 に答える
3

あなたのファイルは読み取り専用です。それらが読み取り専用であることを確認して変更するか、ファイルをソース管理システムに追加して、それによって処理されるようにします。

于 2013-08-16T15:41:10.560 に答える
2

Visual Studioを閉じてから再度開くことでこれを機能させることができましたが、Visual Studioを「管理者として」実行するように注意してください。これを行うには、[スタート] メニューから Visual Studio を右クリックし、[管理者として実行] を選択します。

于 2013-09-19T22:07:19.060 に答える
1

これに関連しているかどうかを確認してください: Could not write to output file - Access is denied . それは追跡するのが少し面倒です。この場合、プロジェクトは dll を自己参照しており、ファイルへのアクセスを妨げています。

于 2013-08-16T15:55:20.920 に答える
0

構成マネージャーを選択して、プラットフォームのみを変更します。使用しているプラ​​ットフォーム以外のプラットフォームがない場合は、プラットフォームのドロップダウンを選択して新しいプラットフォームを追加すると、すべての問題が解決します。

于 2020-07-10T16:05:59.777 に答える