2017-12-22 28 views
0

내 프로젝트에없는 동적로드 :가져 오기 .target 파일 수 내 프로젝트에 가져 나는 .target 파일이

<Target Name="MyCustomTarget" DependsOnTargets="$(OtherTargets)"> 
    <MSBuild Projects="$(PathToTargetFile)\My.target" /> 
    </Target> 

:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="CreateInstaller">  
    <Import Project="$(PathToTargetFile)\My.target" /> 
<Project> 

.target 다른 대상으로 구축이다 목표 MyCustomTargetMy.target의 내용이 변경 될 때마다 여러 번 호출됩니다. 하지만 My.target은 처음이 아닌 가져온 것이 아닙니다. 이 문제를 해결하는 방법?

답변

1

이 문제를 해결하는 방법?

Visual Studio는 모든 가져온 .target 파일을 캐시합니다. 그 이유는 당신이 My.target 처음보다 더 이상 가져 오지 않는 것 같습니다.

이 문제를 해결하려면 다른 이름으로 임시 .target 파일을 사용할 수 있습니다,이 .target 파일을 다시로드 VS 강제 :

<Target Name="AfterBuild"> 
    <PropertyGroup> 
     <TempProjectFile>My.$([System.Guid]::NewGuid()).target</TempProjectFile> 
    </PropertyGroup> 
    <Copy SourceFiles="My.target" DestinationFiles="$(TempProjectFile)" /> 
    <MSBuild Projects="$(TempProjectFile)" /> 
    <Delete Files="@(TempProjectFile)" /> 
    </Target> 

당신은 세부 정보를 원하시면 the similar issue를 참조 할 수 있습니다.

희망이 도움이됩니다.