【问题标题】:GetAssemblyIdentity Version always 1.0.0.0GetAssemblyIdentity 版本始终为 1.0.0.0
【发布时间】:2013-01-10 17:34:34
【问题描述】:

版本是 1.0.0.0,即使文件版本和产品版本都在 DLL 中定义并且当我在 Windows 7 中查看其属性时正确显示。有什么建议吗?

  <Target Name="TestingAssemblyIdentity">
    <GetAssemblyIdentity AssemblyFiles="MyCSharp.dll">
      <Output TaskParameter="Assemblies" ItemName="assemblyInfo"/>
    </GetAssemblyIdentity>
    <Message Text="GetAssemblyIdentity Version is %(assemblyInfo.Version)" />
  </Target>

【问题讨论】:

    标签: msbuild


    【解决方案1】:

    GetAssemlyIdentity 任务返回程序集版本 (AssemblyVersionAttribute),而不是文件或产品版本。后者不是程序集身份的一部分。

    请注意,程序集版本和程序集文件/产品版本服务于不同的purposes

    请参阅here,了解从 msbuild 中读取文件版本的可能方法。

    【讨论】:

    • 谢谢。我将在 MyCSharp 项目中设置 AssemblyVersionAttribute 以及 AssemblyFileVersionAttribute。
    • 我在项目的 AssemblyInfo.cs 中使用 AssemblyVersion 但版本始终为 0.0.0.0 !但是,我没有检查 Dll 的 AssemblyInfo,而是检查我的项目生成的 .exe 文件的 AssemblyInfo。会不会是这个问题?
    猜你喜欢
    • 2022-07-27
    • 2012-06-09
    • 1970-01-01
    • 2012-09-22
    • 2012-12-03
    • 2017-08-05
    • 2020-11-16
    • 2012-05-11
    • 2016-08-26
    相关资源
    最近更新 更多