2011-08-02 1 views
3

몇 가지 프로젝트 종속성이있는 프로젝트가 있는데 두 개의 종속 프로젝트의 출력 (dll)을 다른 폴더에 넣으려고합니다. 작업. 다음은 내가 가지고있는 것, 무엇인가 잘못 되었습니까?MSBuild가 종속 프로젝트의 출력을 다른 폴더에 복사하는 경우

<ItemGroup> 
    <ProjectReference Include="..\..\a\a.csproj"> 
    <Project>{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}</Project> 
    <Name>Client</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\..\b\b.csproj"> 
    <Project>{yyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy}</Project> 
    <Name>Server</Name> 
    </ProjectReference> 
</ItemGroup> 
<Target Name="BuildOtherProjects"> 
    <MSBuild Projects="@(ProjectReference)" Targets="Build"> 
    <Output TaskParameter="TargetOutputs" ItemName="DependentAssemblies" /> 
    </MSBuild> 
    <Copy SourceFiles="@(DependentAssemblies)" DestinationFolder="$(OtherBuildLocation)\Build\Output" SkipUnchangedFiles="true" /> 
</Target> 
+0

이것은 ProjectReference를위한 재미있는 구문입니다. 실제로 프로젝트를 구축합니까? – Jonesie

답변

0

첫째, 어떤 시점에서 실패 했습니까? 중요도 = "높음"으로 설정된 몇 가지 메시지 태스크를 사용하여 디버깅을 시도하십시오 (출력에서의 가시성 확보를 위해). 마음에 드는 첫 번째 검사는 실제로 MSBuild 작업 후 DependentAssemblies ItemGroup에있는 것입니까?

당신은 내가 당신이, 즉, 하나의 디렉토리에 모든 종속성을 얻을, 아마 배포, 당신은 대신에 모든 프로젝트 출력을 가진 것으로 간주 한 생각하려고 노력하고 생각 일을하는 경우 같은 디렉토리? OutDir 및 OutputPath는 사용할 수있는 두 가지 속성입니다.