2014-11-03 3 views
1

다른 패키지 (AnotherPkg)의 빌드 작업에 종속되는 빌드 대상을 포함하는 NuGet 패키지 (MyPkg)가 있습니다. AnotherPkg에는 해당 빌드 태스크 DLL이있는 tools 디렉토리가 있습니다. NuGet 동작에 따라 DLL은 \ packages \ AnotherPkg.0.1.1 \ tools에 설치됩니다.다른 패키지의 NuGet 패키지 도구 참조

AnotherPkg의 도구 경로를 참조하고 버전에 관계없이 알맞은 방법이 있는지 궁금합니다. 예를 들어, 패키지 사용자가 AnotherPkg를 0.1.2로 업그레이드 할 수 있고 내 패키지에서 아무 것도 변경할 필요가 없도록하고 싶습니다.

AnotherPkg의 디렉토리를 찾으려고 노력하는 코드가 있지만 AnotherPkg가 아직 설치되지 않은 경우 프로젝트가로드되지 않을 수 있습니다.

<ItemGroup> 
    <AnotherPkgDll Include="$(SolutionDir)\packages\AnotherPkg.*\tools\AnotherPkg.Tasks.dll" /> 
</ItemGroup> 
<UsingTask AssemblyFile="@(AnotherPkgDll)" TaskName="Whatever" /> 

기타 도움말? 나는이 정보를 얻기 위해 일종의 NuGet 함수가 빠져 있기를 바라고 있습니다.

+1

$ (SolutionDir)을 사용하지 마십시오. 솔루션 파일없이 명령 줄에서 빌드 할 수 없습니다. 대신 $ (MSBuildThisFileDirectory) .. \ AnotherPkg. *를 사용하고 사용자 지정 가능 속성을 사용하여 AnotherPkg의 버전 번호를 AnotherPkg로 수정하는 것을 고려하십시오. $ (AnotherPkgVersion) \ tools \ AnotherPkg.tasks –

답변

-1

내 패키지에서 사용하려고하는 패키지는 Github에 있습니다. 그래서 나는 그것을 수정하고 끌어 오기 요청을 제출했다. :)

관련 문제