1

Visual Studio でいくつかの SQL プロジェクトを作成しました。dacpac のバージョンを一元的に管理したいと考えています。この投稿の回答を使用して小道具ファイルを再利用したいということを満たすために:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition="$(MSBuildProjectExtension) == '.csproj'">
    <CommonPlatform>$(Platform)</CommonPlatform>
    <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)myfile.snk</AssemblyOriginatorKeyFile>
    <LinkKeyFile>$(MSBuildThisFileDirectory)myfile.snk</LinkKeyFile>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
      </PropertyGroup>
  <ItemGroup Condition="$(MSBuildProjectExtension) == '.csproj'">
    <Compile Include="$(MSBuildThisFileDirectory)CommonAssemblyInfo.cs">
      <Link>Properties\CommonAssemblyInfo.cs</Link>
    </Compile>
  </ItemGroup>
    <Import Project="StyleCop\StyleCop.Targets" Condition="$(MSBuildProjectExtension) == '.csproj'"/>

  <!--Version management for DACPAC projects -->
  <PropertyGroup Condition="$(MSBuildProjectExtension) == '.sqlproj'">
    <DacVersion>15.1.0.0</DacVersion>
    <DacDescription>Release 15.1</DacDescription>
  </PropertyGroup>
</Project>

SQL プロジェクトで、次のインポート文を追加します。

<Import Project="..\..\Environment\MyPropsFile.props" />

Visual Studio でプロジェクトのプロパティを確認すると、次のようになりました。

ここに画像の説明を入力

プロジェクトをビルドして dacpac ファイルを解凍し、DacMetadata.xml を確認して、次の結果を得ました。

<?xml version="1.0" encoding="utf-8"?>
    <DacType xmlns="http://schemas.microsoft.com/sqlserver/dac/Serialization/2012/02">
      <Name>MyDB</Name>
      <Version>1.0.0.0</Version>
    </DacType>

SQL プロジェクト用の MSBuild をビルドし、dacpac ファイルをアンパックすると、DacMetadata.xml を確認したところ、次のようになりました。

 <?xml version="1.0" encoding="utf-8"?>
        <DacType xmlns="http://schemas.microsoft.com/sqlserver/dac/Serialization/2012/02">
          <Name>MyDB</Name>
          <Version>15.1.0.0</Version>
          <Description>Release 15.1</Description>
        </DacType>

バージョンと説明の変更を Visual Studio から確認するにはどうすればよいですか?

4

1 に答える 1

2

このアプローチは Visual Studio で機能しますが、残念ながら、ソリューションが読み込まれると、DAC バージョンのメタデータがキャッシュされます。つまり、props ファイルからメタデータを再読み込みする場合は、ソリューション全体を閉じてから再度開く必要があります。(データベース プロジェクトのアンロードと再ロードでは不十分です)。

于 2015-08-24T17:57:03.703 に答える