ビルド サーバーの 1 つが最新の「Microsoft SQL Server Update for database tooling」(バージョン 12.0.60629.0) に更新されたばかりで、現在 (C:\Program Files (x86) にある) SqlPackage.exe のバージョンと互換性がありません。 \Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\SqlPackage.exe)。SQL Server データベース プロジェクト (SQL Server 2014 をターゲット) はエラーなしでビルドされますが、SqlPackage.exe を使用して .dacpac をターゲット サーバーに展開しようとすると、次のエラーが発生します。
The Element or Annotation class PersistedResolvableAnnotation does
not contain the Property class Length.
案の定、成功したビルドの model.xml ファイル (.dacpac 内) をこの最新のものと比較すると、いくつかの Annotation 要素の下に追加の "Length" および "Offset" プロパティが表示されます。
<Annotation Type="PersistedResolvableAnnotation" Name="[$(MyLinkedServer)].[$(MyDatabase)]|[dbo].[SomeTableName]">
<Property Name="TargetTypeStorage" Value="ISqlSynonymTarget" />
<Property Name="Length" Value="63" />
<Property Name="Offset" Value="37" />
</Annotation>
これらのビルド サーバーには、Visual Studio 2012 および 2013 のみがあり、 2015 はありません。この最新の SSDT 更新プログラムが SqlPackage との互換性を壊していることは明らかです (また、この同じ問題についてオンラインで他の兆候があります)。それ?
以前の SSDT バージョンにダウングレードするつもりはありませんが、必要に応じてダウングレードします。最新のデータ層アプリケーション フレームワークをインストールし、代わりにその SqlPackage.exe を使用する必要がありますか? または、Visual Studio 2015 をインストールしますか?