2009-12-17 2 views
5

Visual Studio에서 5 개 프로젝트로 구성된 솔루션이 있습니다. 프로젝트는 어셈블리 (.dll)로 빌드됩니다. 각 프로젝트의 출력 경로가 \ my-web-server \ wwwroot \ bin으로 설정되어있어 한 프로젝트에서 제대로 작동합니다. 모든 프로젝트의 속성에서 출력 경로가 같은 디렉터리로 설정되어 있지만 프로젝트 중 하나만을 모두 빌드하려고하면 오류가 발생합니다.빌드시 파일을 서버에 복사 할 수 없습니다. 경로에 대한 액세스가 거부되었습니다.

"obj \ Release \ Index.dll "을"\ my-web-server \ wwwroot \ bin \ Index.dll "로 변경하십시오. '\ my-web-server \ wwwroot \ bin \ Index.dll'경로에 대한 액세스가 거부되었습니다.

내 조직이 모든 것을 잠긴 상태로 유지하기 때문에 권한이있는 문제 일 수 있다고 가정하지만 사용 권한을 부여 할 수는 없습니다. 올바른 방향으로 도움을 주시면 감사하겠습니다.

답변

17

어리석은 것 같습니다. .dll을 수동으로 삭제 한 다음 다시 작성했습니다. 모든 것이 정상적으로 작동하는 것처럼 보입니다. 감사.

+1

+1 다음 사람이 SysInternals 도구를 실행하기 전에 파일을 삭제하기 전에 액세스가 거부 된 원인 (즉, 파일 잠금)을 확인하고 근본 원인을 알려 주시면 감사하겠습니다. –

+1

실행중인 SysInternals procexp : devenv.exe가 파일에 있습니다. 언로드 프로젝트가 작동하지 않았지만 솔루션을 닫은 후 bin에서 System.Web.WebPages.Deployment.dll을 삭제할 수있었습니다. 뭐라고. – OzrenTkalcecKrznaric

+0

완벽! bin 폴더의 모든 파일을 삭제 한 후 잘 작동하여 빌드했습니다. –

0

대부분 해당 프로그램이 해당 라이브러리를 사용하여 실행되고 있습니다.

디버깅 할 때 뭔가가 발생하고 닫는 것을 잊어 버렸습니다 (IDE 디버거에 연결되지 않음).

웹 사이트처럼 보이기 때문에 웹 사이트가 개발 빌드 폴더에서 호스팅되어 누군가가 액세스하고 있기 때문일 수 있습니다.

+0

파일에 액세스 할 수있는 다른 것을 생각할 수 없습니다. 심지어 IIS에서 웹 사이트를 중단 한 다음 중단 된 동안 건물을 시도했습니다. 안돼. –

0

Aequitarum said과 유사하지만 사용중인 것이므로 잠긴 파일 일 가능성이 큽니다. 여러 프로젝트가 있으므로 대부분 프로젝트 사이에 참조가있을 가능성이 큽니다. 그리고 모든 프로젝트가 동일한 폴더로 출력되므로 하위 프로젝트에 배치되도록 설정된 파일이 있으면 참조 된 프로젝트 중 하나가 두 번 이상 복사 될 가능성이 높습니다. (C# 웹 응용 프로그램에서는 참조 속성을보고 "로컬 복사"속성을 볼 수 있습니다.) MsBuild 프로젝트가 빌드에 다중 프로세서를 사용하도록 설정되어있는 경우 두 개의 자식 프로젝트가 모두 복사를 시도합니다 그 파일은 거의 같은 시간에 하나는 오류가 발생합니다.

매우 독특한 상황이지만 가능합니다.

2

같은 문제가 있었지만 새 프로젝트/솔루션을 구축하고 모든 작업을 완료 한 다음 TFS에 추가했습니다.

불행히도 추가하기 전에 빌드를 정리하지 않았기 때문에 소스 제어에 포함되어서는 안되는 파일 중 일부만 읽었을뿐 (체크 아웃되지 않은 파일)이었습니다. 재구성하기 전에 수동으로 파일을 삭제하면 문제가 해결됩니다.

3

나를위한 해결책은 모든 프로젝트에서 bin 및 obj 폴더의 모든 것을 삭제하는 것이 었습니다. here과 같이 powershell 스크립트를 실행하십시오.

3

나는 동일한 문제가있었습니다. Visual Studio (devenv.exe)의 복사본이 특정 dll이 잠긴 상태로 백그라운드에서 보이지 않게 실행되고있었습니다.

3

bin 폴더에서 모든 DLL을 삭제하고 솔루션을 빌드하십시오.

0

전문 솔루션

그냥

(단지 현명한 당신의 Windows 사용자 ID를 보면 쉽게 검색) 작업 관리자로 이동 상세 검색 (는 Win10 경우) 및 응용 프로그램 이름으로 검색 오른쪽 버튼을 클릭하면 속성이 표시됩니다. 관리자 권한과 같은 권한을 부여하십시오.

그게 다 잘된 것입니다. (나는 1 주일 동안 고생 중이며 내 시간을 더 많이 죽였다.)

0

WSearch Service가 파일을 잠그고 풀어주지 않는 것처럼 보입니다. 나는 WINDOWS 10에서 서비스를 비활성화하고 솔루션을 다시 구축 할 수있었습니다.

관련 문제