ビルドスクリプトを変更するには、SSDTビルドをインターセプトする必要があります。私はMSDN Deployment Plan Modifier tutorialに従ってきましたが、私は、データベースプロジェクトをビルドしようとすると、私は次のエラーを取得する:SQL Serverデータツール:カスタムDeploymentPlanModifierの読み込み中にエラーが発生しました:IDを持つ投稿者が読み込めませんでした
Required contributor with id 'MyDeploymentContributor.SqlRestartableScriptContributor'
could not be loaded.
私は、Visual Studio 2012(バージョン11.0.61219.00アップデート5)とSSDTバージョンを使用しています11.1.50730.0 。
私はアセンブリに署名しましたが、パスワードを指定しませんでした。
私は、次のような私が無駄にオンライン見つけたいくつかのソリューションを、続いてきました:
- Visual StudioとSSDTを更新します。次の場所にMyDeploymentContributor.dllとMyDeploymentContributor.pdbコピー
:SSDTのイベントログをキャプチャ
C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\Extensions
C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\Extensions
とDacFx(fo Kevin Cunnaneの指示をhttps://social.msdn.microsoft.com/Forums/en-US/5c84ab8e-b50b-4ecd-86da-866ac3bb2248/known-issue-with-ssdt-extensibility-in-current-release?forum=ssdtに書き込む)。
- コアサービス:SafeDirectoryCatalog:アセンブリ
C:\Program Files (x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions\MyDeploymentContributor.dll
は - コアサービスを追加:ここでDacFxログからの結果は、FilteringCompositionContainer:ディレクトリ
C:\Program Files (x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions
は、拡張検索パスに - コアサービスを追加しました:拡張検索を見上げます非共有 への変更部分の作成ポリシー :FilteringCompositionContainer:
- コア・サービスの輸出210の
- コアサービス:FilteringCompositionContainer:なし
ContributorLoader
メッセージはありませんでしたMicrosoft.SqlServer.Dac.Deployment.DeploymentPlanModifier
Microsoft.SqlServer.Dac.Deployment.DeploymentPlanExecutor
- コアサービス:SafeDirectoryCatalog:アセンブリ
のための輸出を探しています。このログから、投稿者は正しく読み込まれているようです。 SSDTログには、寄稿者を述べたイベントは含まれていませんでした。
には必要な貢献者の引数がありませんので、私の.sqlprojファイル内DeploymentContributor
ノードは次のようになります。
<PropertyGroup>
<DeploymentContributors>
$(DeploymentContributors); MyDeploymentContributor.SqlRestartableScriptContributor
</DeploymentContributors>
</PropertyGroup>
すべてのヘルプは高く評価されています。ありがとう!
貢献者メソッド(OnExecute?)の書き出しを投稿できますか?https://github.com/DacFxDeploymentContributors/Contributorsからサンプルを取得し、それが機能するかどうか確認してください。すべての設定が正しく行われているかどうかを確認するには、ログを記録するのが良い方法です。 –
My OnExecuteメソッドが[https://msdn.microsoft.com/en-us/library/ee461507(v=vs.100).aspx]からコピーされています( https://msdn.microsoft.com/en-us/library/ee461507(v=vs.100).aspx)、次のようになります。[http://pastebin.com/CYYv8ZsE](http://pastebin。 com/CYYv8ZsE)。私はあなたが提供したgithubのリンクから貢献者を使ってみました、そして以前と同じエラー(と同じDacFxログエントリ)を得ました。 – Palladian1881
Palladian、私はまったく同じ問題に直面しています(私の場合、VS 2013です)。この問題の解決策を見つけられましたか?また、MyRefKey.snkをdllと共にextensionsフォルダにコピーする必要がありますか? –