2017-02-24 7 views
1

AppVeyorでバージョン管理されたバイナリをビルドするために、Asp.Netコアプロジェクト(csproj)をパッチする方法は? AssemblyVersionとFileVersionにバージョン管理を個別に適用する方法はありますか?AppVeyorを使用したASP Core(プレビュー4)のパッチバージョン

AppVeyorにはAssemblyInfo.csファイルを修正するための事前定義済みのステップがありますが、プロジェクトには含まれておらず、AssemblyInfoの機能がcsprojファイルに移動されています。

あなたを助けてくれてありがとう!

答えて

4

.NETのコア.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に<Version>にパッチを適用するスクリプトは次のようになります。

$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) 
+0

おかげで、フョードルこのソリューションを助けました! – Valentine

+0

これはAppVeyorで実装されますか? – Julian

+0

はい、問題があります:https://github.com/appveyor/ci/issues/1404 –

関連する問題