이 문서에서는 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가 보안 제한이 있는 웹(또는 클라우드 드라이브)에서 다운로드한 파일을 처리하려고 할 때 발생합니다.
브라우저를 사용하여 HTML 페이지와 같은 웹 자산을 Windows 디바이스에 다운로드하는 경우 브라우저는 페이지가 시작된 사이트의 보안 영역을 기록하는 웹 표시라는 마커를 삽입합니다. 이 표시는 사이트의 페이지를 다운로드한 후에도 잠재적으로 악의적인 페이지로부터 보호하고 원래 사이트에서 보안 수준을 적용하는 데 도움이 되도록 하기 위한 것입니다. 이 보안 검사는 Visual Studio 원격 코드 실행 취약성 CVE-2018-8172의 특정 보안 문제로 인해 필요합니다.
해결 방법
해당 콘텐츠를 신뢰하기로 결정한 경우 파일 탐색기에서 단일 파일의 차단을 해제하여 제한을 재정의할 수 있습니다. 파일에서 속성 창을 열고 차단 해제를 선택합니다. PowerShell 스크립트 및 Unblock-File cmdlet을 사용하여 여러 파일의 차단을 해제할 수도 있습니다.
Visual Studio에는 웹 주석의 표시 를 검색하는 보안 제한 사항도 포함되어 있습니다. 모든 설정>보안> 신뢰 섹션의 도구>옵션 창에서> 설정을 사용자 지정할 수 있습니다. 자세한 내용은 파일 및 폴더대한 신뢰 설정 구성을 참조하세요.
Visual Studio에는 웹 주석의 표시 를 검색하는 보안 제한 사항도 포함되어 있습니다. 환경>보안 섹션의 도구>옵션 대화 상자에서 신뢰 설정을 사용자 지정할 수 있습니다. 자세한 내용은 파일 및 폴더대한 신뢰 설정 구성을 참조하세요.
경우에 따라 Visual Studio에서 직접 오류를 수정할 수 없습니다. 대신 다음 절차를 따릅니다.
- Visual Studio를 닫습니다.
- 파일 탐색기에서 프로젝트 폴더로 이동합니다.
- MSB3821 오류가 있는 파일을 찾아 속성 메뉴 (Alt + Enter)를 엽니다.
- 차단 해제 확인란을 선택한 다음 적용을 선택합니다.
- 창 닫기.
- Visual Studio를 다시 시작합니다. 프로젝트를 열고 프로젝트를 다시 빌드합니다.
적용 대상
MSBuild의 모든 버전