如何自动增加包版本号?

Dar*_*jan 7 c# windows-store-apps visual-studio-2013

我意识到程序集的构建/修订版号可以通过更改自动递增

[assembly: AssemblyVersion("1.0.0.0")]
Run Code Online (Sandbox Code Playgroud)

[assembly: AssemblyVersion("1.0.*")]
Run Code Online (Sandbox Code Playgroud)

在AssemblyInfo.cs文件中.

但是如何自动增加Package.appxmanifest中定义的版本号?也就是说,版本号可通过以下方式访问:

 Windows.ApplicationModel.Package.Current.Id.Version
Run Code Online (Sandbox Code Playgroud)

我正在使用Visual Studio 2013.

编辑:不应该被标记为重复,我问的是版本而不是汇编版本.

Ale*_*urt 20

三行解决方案,按日期进行版本控制

我遇到了这个问题,直到我经过大量研究后才弄清楚如何在.csproj文件中的三行中实现自动版本控制。这里是:

<Target Name="NugetPackAutoVersioning" AfterTargets="Build">
    <Exec Command="dotnet pack -p:PackageVersion=$([System.DateTime]::Now.ToString(&quot;yyyy.MM.dd.HHmmss&quot;)) --no-build --configuration $(Configuration) --output &quot;$(SolutionDir)nuget" />
</Target>
Run Code Online (Sandbox Code Playgroud)

这将{ProjectName}.{Year}.{Month}.{Day}.{Hour}{Minute}{Second}在项目根目录的“nuget”文件夹中输出一个名为 like 的 NuGet 包,确保以后构建的包被版本化为后验。

  • 这应该是最重要的答案。谢谢你! (3认同)
  • 简单且非常有效 (2认同)
  • 使用此功能可能会导致 NuGet 恢复循环。请参阅 /sf/ask/4325057551/。删除版本的“ss”部分可以解决此问题 (2认同)

小智 18

dotnet pack 不包括我的包中的运行时/构建目标,因此我更喜欢Generate package on build在项目中使用 package 选项。

我编辑了我的项目文件并在其中添加了以下属性<PropertyGroup>

<PackageVersion>$([System.DateTime]::Now.ToString("yyyy.MM.dd.HHmmss"))</PackageVersion>
Run Code Online (Sandbox Code Playgroud)

  • 关闭 PackageVersion 时缺少“&lt;”。这让我有一分钟的失落。 (3认同)

dca*_*tro 12

在您的.csproj文件中,您应该添加一个名为AppxAutoIncrementPackageRevisionvalue 的属性True.

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>

    ...

    <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>

    ...
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

每次通过Visual Studio构建它时,这将自动增加appx包版本.

  • 尝试过这个,对我不起作用。(添加了 &lt;import&gt; 和 &lt;AppxAutoIncrementPackageRevision&gt;)。包裹号码保持不变 (3认同)