2010-06-21 9 views
4

내 솔루션 지난 금요일에 잘 작성되었습니다.BuildShadowTask "파일 또는 어셈블리를로드 할 수 없습니다."

오늘은 그것을 발사하고이 오류 메시지가 점점 오전 :

파일이나 어셈블리를로드 할 수 없습니다 '에서는 MyApplication을, 버전 = 0.0.0.0을, 문화 = 중립, PublicKeyToken = null이'또는 해당 종속성 중 하나 . 시스템이 지정된 파일을 찾을 수 없습니다.

내 스마트 장치 테스트 프로젝트에서 실패했습니다.

여기에는 약 Googled입니다. 그리고 othershad이고 내 problem인데 작동하는 픽스를 찾지 못하는 것 같습니다.

오류를 두 번 클릭하면 Microsoft.TeamTest.targets로 이동합니다. 문제의 대상은 다음과 같습니다.

<Target Name="ResolveTestReferences" Condition="'@(Shadow)'!=''"> 
    <BuildShadowTask 
     CurrentResolvedReferences="@(ReferencePath)" 
     CurrentCopyLocalFiles="@(ReferenceCopyLocalPaths)" 
     Shadows="@(Shadow)" 
     ProjectPath="$(ProjectDir)" 
     IntermediatePath="$(IntermediateOutputPath)" 
     SignAssembly="$(SignAssembly)" 
     KeyFile="$(AssemblyOriginatorKeyFile)" 
     DelaySign="$(DelaySign)"> 
     <Output TaskParameter="FixedUpReferences" ItemName="ReferencePath"/> 
     <Output TaskParameter="NewCopyLocalAssemblies" ItemName="ReferenceCopyLocalPaths"/> 
    </BuildShadowTask> 
    </Target> 

실제 프로젝트 (테스트 프로젝트 아님)를 구축하면 올바르게 작동합니다.

어떤 아이디어?

+0

문제를 해결하는 데 성공 했습니까? –

+0

최근 변경 사항을 모두 조사하여이 문제를 일으키는 버그를 찾아야했습니다. 나는 그것이 지금 무엇인지를 기억하지 못한다. – Vaccano

답변

0

"Project Dependencies"대화 상자의 솔루션 속성 창에서 실제 프로젝트 프로젝트에 대한 단위 테스트 프로젝트의 종속성을 추가하십시오.

아직 빌드되지 않은 경우 유닛 테스트 프로젝트 전에 실제 제품이 빌드되도록해야합니다.

+0

아아, 거기에 이미 의존성이 있습니다 ... – Vaccano

3

해결책을 찾았습니다.

문제는 릴리스 모드, 프로젝트 참조 및 로컬 복사 플래그입니다. Release에서 액세서 어셈블리는 결함이있는 다른 메커니즘을 사용하여 빌드 된 것 같습니다.

결함은 잘못된 가정이어야합니다. 기본적으로 프로젝트 참조에는 copy local flag가 true로 설정되어 있습니다. 이는 XML 노드가 프로젝트 참조를 위해 유닛 테스트 프로젝트 파일에 쓰여지지 않음을 의미합니다. 플래그를 false로 전환하여 XML 노드를 프로젝트 파일에 작성한 다음 true로 설정하면 문제가 해결됩니다.

MS에서 또 다른 끔찍한 해킹 작업을 당하면서 2012 년에 더 이상 지원되지 않을 예정입니다.

관련 문제