0

내가 읽은 애플리케이션 디자인에서 (PCL) 휴대용 클래스 라이브러리의 사용에 대한 두 articticles 다음휴대용 클래스 라이브러리 및 코드 분석 ca055/ca0052

http://www.dotnetcurry.com/showarticle.aspx?ID=843http://blogs.msdn.com/b/dsplaisted/archive/2012/08/27/how-to-make-portable-class-libraries-work-for-you.aspx

은 내가 PCL을 생성하고 PCL을 테스트하는 단위 테스트 프로젝트 Visual Studio 2012로 모든 것을 구축하고 훌륭하게 작동하며이 PCL을 사용하여 응용 프로그램을 시작할 수도있었습니다.

소스 제어 및 야간 검사에는 TFS를 사용합니다. TFS를 통해 단위 테스트 프로젝트 또는 응용 프로그램을 빌드하려고하면 두 가지 오류가 발생합니다.

CA0055 : * 파일을로드 할 수 없습니다 : 'C : ... \ MyPCL.dll'. CA0052 : 대상이 선택되지 않았습니다.

PCL은 .Net Framework 4.5 및 .Net for Windows를 사용합니다. PCL이 아닌 대상 및 모든 프로젝트는 .Net Framework 4.5를 사용하도록 구성됩니다. 나는 다른 참조를 기본 ".Net Protable Subset"참조로 사용하지 않습니다.

빌드 서버를 점검하면 내 PCL의 컴파일 된 작동 버전이 있습니다. 건물을 짓는 동안 코드 분석을 사용하지 않으면 오류가없고 모든 단위 테스트가 제대로 작동합니다.

그러나 코드 분석을 무시하는 것은 해결책이 아닙니다. 그래서 누군가 추락 한 이유와 코드를 분석하는 방법에 대해 생각해 보셨습니까?

+0

"msbuild/property : RunCodeAnalysis = true SolutionName.sln"으로 로컬 버전 빌드 시도 – JamesF

답변

0

Visual Studio에서 코드 분석을 사용할 때 로컬 빌드가 잘 작동합니까?

그렇다면이 문제의 가능한 원인 중 하나가 TFS Build에서 출력 경로를 빌드하는 것일 수 있습니다. 로컬 빌드에서는 출력 파일이 각 프로젝트의 bin 디렉토리에 생성됩니다. TFS 빌드에서 모든 프로젝트 출력 파일이 바이너리 디렉토리에 복사됩니다.

+0

예 코드를 사용할 때 로컬 빌드가 작동합니다. 내 로컬 빌드 분석. PCL, CA 및 출력 디렉토리 간의 관계를 이해할 수 없습니까? – Sukram

1

프로젝트의 이름을 변경 한 후에도 동일한 문제가 발생했습니다. AssemblyInfo.cs 파일을 확인하고 assemblyTitle이 올바른지 확인하십시오. 프로젝트 이름과 동일하게하고 다른 프로젝트와 충돌하지 않아야합니다.