在MSBuild中的AssemblyInfo访问版本
-
13-12-2019 - |
题
我正在尝试通过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
不隶属于 StackOverflow