2

ここで何が欠けているかを教えて、誰かが私の正気を救うのを助けることができるのではないかと思いました. まずは背景。

TC には 5 つのデータベース プロジェクトがあり、それぞれにビルド ステップとデプロイ ステップがあります。これら 5 つのプロジェクトのうち 4 つが完全にビルドおよびデプロイされています。

ただし、5 番目は正常にビルドされますが、SQL Server への展開中に次のエラーが発生します。


「*** 配置計画の生成中にエラーが発生しました。配置を続行できません。」

Element または Annotation クラスの PersistedResolvableAnnotation には、Property クラスの長さが含まれていません。

[08:32:52][Exec] C:\TeamCity\BuildAgent3\work\c3c1bdeecddf68ca.Build\dbdeploy_single.proj(9, 5): エラー MSB3073: コマンド ""C:\Program Files (x86)\Microsoft SQL Server\120\DAC\Bin\sqlpackage.exe" /Action:Publish /sf:"../DB-ExampleData/ExampleData/bin/Release/ExampleData.dacpac" /pr:"../DB-ExampleData/ExampleData/ UAT.publish.xml" /TargetServerName:IP.IP.IP.111" はコード 1 で終了しました。


調査中に、UAT.publish.xml を動作するものと比較したところ、同じように見えました。Windows 認証と SQL 認証を試しましたが、違いはありません。パブリッシュ ファイルは、Visual Studio 内から実行した場合も正常に機能します。

動作するプロジェクトとこのプロジェクトの間の展開設定を確認しましたが、唯一の違いは予想されるデータベース名です。

これが原因である可能性があり、どのように解決できるかについて、誰かが何か考えを持っていますか. 必要に応じて、ログとスクリーンショットがあります。

これを読んでくれてありがとう。

ニック

4

2 に答える 2

2

ビルド サーバーには、Visual Studio が使用しているものとは異なるバージョンの sqlpackage (つまり、DacFX) があり、5 つのプロジェクトのうちの 1 つだけに、2 つのバージョンによって "異なる" 処理が行われる機能が含まれているようです。

このmsdn スレッドに少し詳細があります。

つまり、ビルド サーバーで DacFX を更新し、ビルド ジョブがその中の を呼び出していることを確認しますsqlpackage.exe

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\ 130

于 2016-11-17T13:13:54.560 に答える