MSBuildのAssemblyInfoからのアクセスバージョン
-
13-12-2019 - |
質問
説明されているように、Visual Studioビルドプロセスを通してNUGETパッケージを作成/プッシュしようとしていますここ
<Exec WorkingDirectory="$(ProjectDir)" Command="$(NuGetApp) pack $(ProjectFile) -OutputDirectory $(Deploy) -Verbose -Prop Configuration=Release"/>
.
$(deploy)フォルダに.nupkgファイルが表示されます。
プッシュできるようにするには、それを使用するには$(AssemblyVersion)が必要です。
<Exec Command="$(NuGetApp) push $(ProjectName)$(AssemblyVersion) -s $(NugetServer) $(NugetKey)" />
.
XMLReadを試してみて、値を取得しましたが、NugetSpecFileの値はassemblyinfo.csからのバージョンではなく "$ VERSION $"です。
<XmlRead XPath="/package/metadata/version" XmlFileName="$(NuSpecFile)">
<Output TaskParameter="Value" PropertyName="AssemblyVersion" />
</XmlRead>
.
解決
これをやる:
<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