更新 .csproj 中的 PublishVersion/MinimumRequiredVersion

Updating PublishVersion/MinimumRequiredVersion in .csproj

提问人:Drees 提问时间:11/16/2023 最后编辑:Drees 更新时间:11/17/2023 访问量:29

问:

这是针对 OneClick 程序的。

最初,我从 subwcrev 获取修订号并填充 assemblyinfo.cs。

我用这个逻辑创建了一个预构建事件。我能够在属性对话框的程序集信息弹出窗口中看到新的修订版本。

  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <PropertyGroup>
    <PreBuildEvent>subwcrev $(ProjectDir) "$(ProjectDir)Build\AssemblyInfo.cs.txt"  "$(ProjectDir)Properties\AssemblyInfo.cs" -f</PreBuildEvent>
  </PropertyGroup>

我正在尝试同步 MinimumRequiredVersion 和 PublishVersion,以便它们与程序集信息匹配。

我为此创建了一个目标:

<Target Name="AfterCompile">
    <GetAssemblyIdentity AssemblyFiles="$(IntermediateOutputPath)$(TargetFileName)">
      <Output TaskParameter="Assemblies" ItemName="TargetAssemblyIdentity" />
    </GetAssemblyIdentity>
    <PropertyGroup>
      <PublishVersion>%(TargetAssemblyIdentity.Version)</PublishVersion>
    </PropertyGroup>
    <PropertyGroup>
      <MinimumRequiredVersion>%(TargetAssemblyIdentity.Version)</MinimumRequiredVersion>
    </PropertyGroup>
</Target>

这不会更新 PublishVersion 或 MinimumRequiredVersion,但如果我使用“Message”标记,它确实允许我显示一条消息。

这是我尝试更新的值。enter image description here

任何想法,当我构建项目时,我缺少什么来完成这项工作。

SVN MSBuila OneClick

评论

0赞 Jonathan Dodds 11/17/2023
这是针对 ClickOnce 应用程序的吗?您在 Microsoft 的文档中在哪里找到?PublishVersion
0赞 Drees 11/17/2023
@JonathanDodds 是的,对不起。我会把它添加到问题中。
0赞 Jonathan Dodds 11/17/2023
我不认为是 ClickOnce 的 MSBuild 属性。有一个属性用于应用程序清单中的 。PublishVersionApplicationVersionVersion
0赞 Drees 11/17/2023
@JonathanDodds我查看了 .csproj 并且这是显示的标记,我正在寻找匹配程序集版本 发布版本和 minimumrequiredversion
0赞 Jonathan Dodds 11/17/2023
.csproj 是旧样式项目还是 SDK 样式项目?能否从定义属性的 .csproj 文件中共享?顺便说一句,UI 属性页不会反映版本更改。PropertyGroupPublishVersion

答: 暂无答案