2

Visual Studio 2008 웹 배포 프로젝트 팀 빌드 ASPPARSE 오류웹 배포 프로젝트 팀 빌드 오류

일반적인 문제가있는 것 같습니다. 하나는 나타나지만 명확한 해결책이 없습니다.

클래스 라이브러리, 웹 응용 프로그램 프로젝트 및 최근에 추가 된 웹 배포 프로젝트 인 여러 프로젝트가 포함 된 Visual Studio 2008 프로젝트 구조가 있습니다. MVC 설정에 대해이 문제에 대해 들어 봤습니다. 또한, 내가 본 솔루션은 MVC가 사용되고 있다고 가정합니다.

빌드가 IDE에서 올바르게 작동하는지 확인했습니다. 단일 어셈블리 병합 결과로 생성되는 어셈블리의 이름을 제외하고 웹 배포 프로젝트의 기본값을 변경하지 않았습니다.

솔루션이 "릴리스"용으로 빌드 된 경우에만 웹 배포 프로젝트를 빌드하기 위해 내 솔루션을 설정했습니다. 이 코드 분기와 코드의 개발 분기를 가져 오는 사용자 지정 빌드 스크립트가 있습니다. 빌드 스크립트는이 코드의 릴리스 버전과 개발 분기의 디버그 버전을 올바르게 빌드합니다.

릴리스 버전을 빌드 할 때 문제가 발생합니다. 모든 프로젝트는 웹 배포 프로젝트를 제외하고 성공적으로 빌드됩니다. 다음과 같은 오류와 함께이 프로젝트를 빌드 할 때 TFS 오류를 구축 :

/xx.csproj/global.asax(1): error ASPPARSE: Could not load type 'xxx.xx.Global'. 

xx.csproj 웹 응용 프로그램 프로젝트와 'xxx.xx.Global'는 클래스 뒤에 Global.asax에 코드입니다.

내 독서에서 TFS Build와 함께 일부 복사 문제가있는 것 같습니다. 여기 MVC에 관한 여러 응답을 읽었습니다. 이것은 MVC 설정이 아니지만 비슷한 문제라고 생각합니다. 어떤 코드를 복사해야할지 모르겠습니다. AfterBuild 대상에 TFSBuild.proj 파일에 제안 된 코드를 넣으려고했지만 찾은 코드가이 오류를 변경하지 않았습니다.

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
     Other similar extension points exist, see Microsoft.WebDeployment.targets. 
    <Target Name="BeforeBuild"> 
    </Target> 
    <Target Name="BeforeMerge"> 
    </Target> 
    <Target Name="AfterMerge"> 
    </Target> 
    <Target Name="AfterBuild"> 
    </Target> 
    --> 

위의 코드는 프로젝트 파일에 주석 처리 된 int로 표시됩니다. 내 생각에 'BeforeMerge'타겟을 사용하면 필요한 바이너리를 복사 할 수 있습니다. 이 작업을 수행하는 스크립트를 작성하는 방법을 모르겠습니다. 몇 가지 TFS 서적을 참고했지만 어느 것도 웹 배포 프로젝트 관련 정보가 없습니다. (제 생각에이 문제와 관련하여 Microsoft로부터 많은 정보를 찾을 수없는 것 같습니다.)

MVC 솔루션을 참조하는 솔루션을 본 것만 제외하면 AfterBuild 대상에서 작업 한 것으로 보았습니다. 위의 빌드 스크립트는 TSBuild 스크립트에서 시도한 deploy_csproj에서 직접 가져온 것입니다. 어느 위치에서든 바이너리를 복사하는 것과 차이가 있습니까?

아무도 무슨 일이 일어나는지 설명 할 수 있습니까? 병합 실행을 위해 바이너리를 올바른 디렉토리에 복사 할 수 있도록 각 프로젝트마다 개별 빌드 스크립트를 작성해야합니까?

답변