我正在尝试通过Visual Studio Build Process创建/推动Nuget包,如这里

建筑包装简单:

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

i在$(deploy)文件夹中,我看到.nupkg文件。

但能够推动它,我需要$(ompertversversion)使用它:

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

我尝试过xmlread来获取值,但尼古茨·文件的值是“$ Version $”而不是ompermentInfo.cs的版本。

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

如何访问版本,所以我可以在“nuget推送”中使用它?

有帮助吗?

解决方案

我会这样做:

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

从这里改变: msbuild任务阅读dll

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top