这个周末我开始和AppVeyor一起玩。在解决了一些其他问题之后,我目前停留在版本修补程序上。
我要实现的目标: 我正常的master分支应该版本1.0。{build}之类的东西,都可以正常工作。但是当涉及到dev分支时,每个构建(或可以说nuget包)都应包含类似“ -alpha”的后缀。
这是我当前的Appveyor.xml
。当前已提交到我的dev-Branch的根目录,master分支当前没有xml,我想先解决此问题。
version: 1.0.{build}
image: Visual Studio 2017
configuration: Release
platform: Any CPU
dotnet_csproj:
patch: true
file: '**\*.csproj'
version: '{version}'
package_version: '{version}'
assembly_version: '{version}'
file_version: '{build}'
informational_version: '{version}'
before_build:
- cmd: dotnet restore Kinoheld.Api.Client\Kinoheld.Api.Client.sln
build:
verbosity: minimal
after_build:
- cmd: dotnet pack Kinoheld.Api.Client\Kinoheld.Api.Client\Kinoheld.Api.Client.csproj
artifacts:
- path: '**\*.nupkg'
deploy: off
for:
-
branches:
only:
- dev
dotnet_csproj:
patch: true
file: '**\*.csproj'
version: '{version}-alpha'
package_version: '{version}-alpha'
assembly_version: '{version}'
file_version: '{version}'
informational_version: '{version} (pre-release)'
为什么我的项目没有打补丁?好吧,我不知道它们是否真的没有打补丁,但是为什么最终结果是我的dev-build软件包没有上面指定的版本?我有什么想念的吗?也许在我的csproj文件中或类似的东西?
您可以在这里找到我的项目开发分支- https://github.com/janniksam/Kinoheld/tree/dev-如果您需要除以上xml之外的更多信息,请随时对其进行检查。
更新:\
以防万一:我没有未设置“忽略appveyor.yml”。我在控制台中看到了Patching .NET Core .csproj files
行。
答案 0 :(得分:3)
我终于找到了解决方案。在查找项目时,Appveyor在项目内部搜索属性<Version>
。我的项目没有声明<Version>
。