次の方法で共有


MSB3821診断コード

この記事では、MSB3821エラー コードについて説明します。

メッセージ テキスト

MSB3821: Couldn't process file 'value' due to its being in the Internet or Restricted zone or having the mark of the web on the file. Remove the mark of the web if you want to process these files.

説明

このエラーは、MSBuild がセキュリティ制限のある Web (またはクラウド ドライブ) からダウンロードしたファイルを処理しようとしたときに発生します。

ブラウザーを使用して HTML ページなどの Web アセットを Windows デバイスにダウンロードすると、ブラウザーは Web のマークと呼ばれるマーカーを挿入します。このマーカーは、ページの作成元サイトのセキュリティ ゾーンを記録します。 このマークは、サイトからページがダウンロードされた後でも、悪意のある可能性のあるページから保護し、元のサイトにセキュリティ レベルを適用することを目的としています。 このセキュリティ チェックは、 Visual Studio のリモート コード実行の脆弱性 CVE-2018-8172 という特定のセキュリティの問題が原因で必要です。

解決策

問題のコンテンツを信頼する場合は、エクスプローラーから 1 つのファイルのブロックを解除することで、制限をオーバーライドできます。 ファイルの [プロパティ ] ウィンドウを開き、[ ブロック解除] を選択します。 PowerShell スクリプトと Unblock-File コマンドレットを使用して、複数の ファイルのブロックを解除 することもできます。

Visual Studio には、 Web コメントのマーク を検出するセキュリティ制限も含まれています。 信頼設定は、すべての設定>Environment>>Trust セクションの [>オプション] ウィンドウでカスタマイズできます。 詳細については、「 ファイルとフォルダーの信頼設定を構成する」を参照してください

Visual Studio には、 Web コメントのマーク を検出するセキュリティ制限も含まれています。 信頼設定は、[環境>セキュリティ] セクションの [ツール>オプション] ダイアログでカスタマイズできます。 詳細については、「 ファイルとフォルダーの信頼設定を構成する」を参照してください

場合によっては、Visual Studio で直接エラーを修正することはできません。 代わりに、次の手順に従います。

  1. Visual Studio を閉じます。
  2. エクスプローラーで、プロジェクト フォルダーに移動します。
  3. MSB3821 エラーが発生したファイルを見つけて、[プロパティ] メニュー (Alt + Enter) を開きます
  4. [ ブロック解除 ] チェック ボックスをオンにし、[ 適用] を選択します。
  5. ウィンドウを閉じます。
  6. Visual Studio を再起動します。 プロジェクトを開き、プロジェクトをもう一度ビルドします。

対象

MSBuild のすべてのバージョン