Versione di accesso da AssemblyInfo in Msbuild
-
13-12-2019 - |
Domanda
Sto cercando di creare / spingere il pacchetto Nuget tramite Visual Studio Build Process come spiegato qui .
Pacchetto Building è facile:
<Exec WorkingDirectory="$(ProjectDir)" Command="$(NuGetApp) pack $(ProjectFile) -OutputDirectory $(Deploy) -Verbose -Prop Configuration=Release"/>
.
Vedo. NUPKG File in $ (Distribuisci) Cartella.
Ma per poterlo spingere, ho bisogno di $ (assemblyVersion) per usarlo in:
<Exec Command="$(NuGetApp) push $(ProjectName)$(AssemblyVersion) -s $(NugetServer) $(NugetKey)" />
.
Ho provato XMLREAD per recuperare il valore, ma il valore in NugetSpecfile è "$ versione $" anziché versione da assemblyinfo.cs.
<XmlRead XPath="/package/metadata/version" XmlFileName="$(NuSpecFile)">
<Output TaskParameter="Value" PropertyName="AssemblyVersion" />
</XmlRead>
.
Come posso accedere alla versione in modo da poterlo usarlo in "Nuget Push"?
Soluzione
Questo lo farò:
<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>
.
Modificato da qui: Attività msbuild per leggere la versione di DLL
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow