当尝试从自定义MSBuild脚本检索AssemblyInfo.cs文件中存在的[assembly: AssemblyVersion("1.2.3.4")]时,我总是得到$(Version)值1.0.0.0,而不是写入文件中的值。
有人能告诉我如何解决这个问题吗?不幸的是,到目前为止,我找到的其他条目并没有为我指明正确的方向。
发布于 2020-10-12 15:43:55
实际上是,你只想通过MSBuild获得程序集dll的版本,而不是nuget包的版本。
$(Version)是打包lib项目后nuget包版本的值。参见this official document。
如果你想获得内部程序集dll的版本,这可能有点复杂,但这可以通过一些MSBuild任务来完成。
使用以下命令:
<Target Name="RetrieveIdentities" BeforeTargets="Build">
<GetAssemblyIdentity
AssemblyFiles="$(TargetPath)">
<Output
TaskParameter="Assemblies"
ItemName="MyAssemblyIdentities"/>
</GetAssemblyIdentity>
<Message Text="Version: %(MyAssemblyIdentities.Version)"/>
</Target>%(MyAssemblyIdentities.Version)是AssemblyVersion的值。
https://stackoverflow.com/questions/64303927
复制相似问题