Acceda a la versión desde AssemblyInfo en MSBuild

Estoy tratando de crear/empujar el paquete nuget a través del proceso de compilación de Visual Studio como se explica aquí.

El paquete de construcción es fácil:

<Exec WorkingDirectory="$(ProjectDir)" Command="$(NuGetApp) pack $(ProjectFile) -OutputDirectory $(Deploy) -Verbose -Prop Configuration=Release"/>

Veo el archivo .nupkg en la carpeta $(Deploy).

Pero para poder empujarlo, necesito $(AssemblyVersion) para usarlo en:

<Exec Command="$(NuGetApp) push $(ProjectName)$(AssemblyVersion) -s $(NugetServer) $(NugetKey)" />

Probé XMLRead para obtener el valor, pero el valor en NugetSpecFile es "$version$" en lugar de la versión de AssemblyInfo.cs.

<XmlRead XPath="/package/metadata/version" XmlFileName="$(NuSpecFile)">
      <Output TaskParameter="Value" PropertyName="AssemblyVersion" />
    </XmlRead>

¿Cómo accedo a la versión para poder usarla en "nuget push"?

preguntado el 22 de mayo de 12 a las 21:05

1 Respuestas

Esto lo haré:

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

Alterado de aquí: MSBuild Task para leer la versión de dll

contestado el 23 de mayo de 17 a las 13:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.