2017-04-24 46 views
4

我试图让我的NuGet包由AssemblyInformationalVersion版本化,同时保持AssemblyVersion相同。我在我的.nuspec中使用tag $ version $。Appveyor似乎忽略infomational版本

但是,如果我使用appveyor构建NuGet,它会继续使用AssemblyVersion。

appveyor.yaml

version: 1.0.{build} 
pull_requests: 
    do_not_increment_build_number: true 
configuration: Release 
assembly_info: 
    patch: true 
    file: '**\AssemblyInfo.*' 
    assembly_file_version: '{version}' 
    assembly_informational_version: '{version}' 
before_build: 
    nuget restore 
build: 
    publish_nuget: true 
    parallel: true 
    verbosity: minimal 
deploy: 
    provider: NuGet 
    api_key: <SKIPPED> 

.nuspec摘录

<metadata> 
.... 
    <version>$version$</version> 
.... 
</metadata> 

UPD: 我检查版本信息正确设置文件: Informational version

另外,我不知道如果它相关,但它似乎忽略了我的<files>指令并将所有内容都放入lib而不是analyzers\dotnet\cs

回答

1

如果AssemblyInfo.*文件不包含AssemblyInformational标记,通常会发生这种情况。在这种情况下,AppVeyor没有任何补丁。

+0

感谢您的建议,但它没有帮助。 信息版本设置正确,但似乎被忽略。 – Leotsarev

+0

请参阅更新 – Leotsarev

+0

分叉您的回购,从您发布的内容创建appveyor.yml,并且所有工作正常。还添加了'publish_nuget_symbols:true'和'include_nuget_references:true',使它看起来更像你的版本,它仍然可以正常工作:https://ci.appveyor.com/project/IlyaFinkelshteyn/hardcode-analyzer。请再试一次,如果这不起作用,请将当前配置导出到YAML中。 – ilyaf