【问题标题】:Patch version of ASP Core (preview 4) with AppVeyor带有 AppVeyor 的 ASP Core(预览版 4)补丁版本
【发布时间】:2017-02-24 11:27:59
【问题描述】:

如何修补 Asp.Net Core 项目 (csproj) 以便使用 AppVeyor 构建版本控制的二进制文件? 有没有办法分别为 AssemblyVersion 和 FileVersion 应用版本控制?

AppVeyor 有预定义的步骤来修补 AssemblyInfo.cs 文件,但它不包含在项目中,并且 AssemblyInfo 的功能已移至 csproj 文件,因此不清楚如何处理版本控制。

感谢您的帮助!

【问题讨论】:

    标签: asp.net .net .net-core appveyor


    【解决方案1】:

    由于 .NET Core .csproj 是常规 XML,您可以使用 PowerShell 脚本更新其中的版本信息。例如,您可能有以下MyProject\MyProject.csproj

    <Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp1.0</TargetFramework>
        <Version>1.2.3.4</Version>
      </PropertyGroup>
      <ItemGroup>
        <Compile Include="**\*.cs" />
        <EmbeddedResource Include="**\*.resx" />
      </ItemGroup>
      <ItemGroup>
        <PackageReference Include="Microsoft.NETCore.App" Version="1.0.1" />
      </ItemGroup>
    </Project>
    

    然后在 AppVeyor 上修补 &lt;Version&gt; 的脚本如下:

    $xmlPath = "$env:appveyor_build_folder\MyProject\MyProject.csproj"
    $xml = [xml](get-content $xmlPath)
    $propertyGroup = $xml.Project.PropertyGroup | Where { $_.Version}
    $propertyGroup.Version = $env:appveyor_build_version
    $xml.Save($xmlPath)
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-03
    • 2015-05-18
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多