bat 스크립트에서 csproj
이 아닌 MSBuild 스크립트를 호출하고 있습니다. 그 스크립트가 MSBuild Community Tasks을 사용할 수 있기를 바랄뿐입니다. 모든 머신에이 스크립트를 설치하고 싶지 않고, 내 저장소에 바이너리를 포함하고 싶지도 않습니다.별도의 호출없이 독립 실행 형 MSBuild 스크립트에서 NuGet 대상을 사용하는 방법
이 노드를 스크립트에 추가하고 restore
대상을 호출하면 패키지가 복원됩니다.
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<PackageReference Include="MSBuildTasks">
<Version>1.*</Version>
</PackageReference>
</ItemGroup>
포함 된 작업을 사용하려면 해당 항목 만 사용해야합니다.
<Target Name="MyTarget" DependsOnTargets="Restore">
<AssemblyInfo CodeLanguage="CS"
OutputFile="$(VersionInfoFile)"
AssemblyVersion="1.2.3.5"
/>
</Target>
그러나, 나는 내 스크립트를 실행 처음으로, 패키지가 복원 만이 AssemblyInfo
작업을 찾을 수 없기 때문에 다음 스크립트가 실패 : 어떤 다른 targets
파일을 가져올 필요가 없습니다. 두 번째로 성공합니다. MSBuild 스크립트를 두 번 호출하지 않고이 작업을 수행 할 수있는 방법이 있습니까 (처음으로 Restore
타겟을 실행하는 경우)?