web-dev-qa-db-ja.com

データ層アプリケーションの自動バージョンインクリメント

データベースプロジェクトのプロジェクト設定では、データ層アプリケーションからバージョン番号を設定できますが、手動で設定するのは少し非効率的です。他のVSプロジェクトと同様に、ビルド番号を自動的に増やしたいと思います。これはどのように行うことができますか?同時に、生成されたdacpacファイルでこのバージョン番号を確認したいと思います。

7
nojetlag

私はこのフォーラムのスレッドがうまく機能する答えを持っていることを発見しました: データ層アプリケーションでの自動バージョン増分

最小ステップは次のとおりです。

  1. Properties\AssemblyInfo.csが存在しない場合は作成し、プロジェクトに含まれていて、少なくとも次のコードが含まれていることを確認してください。using System.Reflection; [Assembly: AssemblyVersion("1.0.*")]または、バージョン番号を指定してください。

  2. *.sqlprojファイルを外部エディター(メモ帳など)で編集し、次のXMLを追加します。

    <Target Name="SetDacVersionToAssemblyVersion" AfterTargets="CoreCompile">
        <GetAssemblyIdentity AssemblyFiles="$(IntermediateTargetFullFileName)">
            <Output TaskParameter="Assemblies" PropertyName="IntermediateTargetAssembly" />
        </GetAssemblyIdentity>
        <PropertyGroup>
            <DacVersion>$(IntermediateTargetAssembly.Split(',')[1].Split('=')[1])
            </DacVersion>
        </PropertyGroup>
        <Message Text="DacVersion set to $(DacVersion)" Importance="high" />
    </Target>
5
CrazyPyro