MSBuild의 AssemblyInfo에서 버전에 액세스합니다
-
13-12-2019 - |
문제
여기 .
빌딩 패키지는 쉽습니다 :
<Exec WorkingDirectory="$(ProjectDir)" Command="$(NuGetApp) pack $(ProjectFile) -OutputDirectory $(Deploy) -Verbose -Prop Configuration=Release"/>
.
$ (deploy) 폴더에 .nupkg 파일이 표시됩니다.
그러나 그것을 밀어 넣을 수 있도록, 나는 그것을 사용하기 위해 $ (조립체)가 필요합니다.
<Exec Command="$(NuGetApp) push $(ProjectName)$(AssemblyVersion) -s $(NugetServer) $(NugetKey)" />
.
가치를 가져 오기 위해 XmlRead를 시도했지만 nugetspecfile 값은 AssemblyInfo.cs의 버전 대신 "$ 버전 $"입니다.
<XmlRead XPath="/package/metadata/version" XmlFileName="$(NuSpecFile)">
<Output TaskParameter="Value" PropertyName="AssemblyVersion" />
</XmlRead>
.
버전에 액세스하려면 "NuGet Push"에서 사용할 수 있습니까?
해결책
이것을 할 것입니다 :
<PropertyGroup>
<MyAssemblies>somedll\the.dll</MyAssemblies>
</PropertyGroup>
<Target Name="RetrieveIdentities">
<GetAssemblyIdentity
AssemblyFiles="$(MyAssemblies)">
<Output
TaskParameter="Assemblies"
ItemName="MyAssemblyIdentities"/>
</GetAssemblyIdentity>
<Message Text="Files: %(MyAssemblyIdentities.Version)"/>
</Target>
.
여기에서 변경됨 : DLL 버전을 읽을 수있는 MSBuild 태스크
제휴하지 않습니다 StackOverflow