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"?

È stato utile?

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
scroll top