Мне нужно перехватить сборку SSDT, чтобы изменить скрипт сборки. Я следовал MSDN Deployment Plan Modifier tutorial, но когда я пытаюсь построить проект базы данных, я получаю следующее сообщение об ошибке:Инструменты данных SQL Server: ошибка загрузки пользовательского DeploymentPlanModifier: Обязательный вкладчик с идентификатором не может быть загружен
Required contributor with id 'MyDeploymentContributor.SqlRestartableScriptContributor'
could not be loaded.
Я использую Visual Studio 2012 (версия 11.0.61219.00 Update 5) и SSDT Версия 11.1.50730.0 ,
Я подписал сборку, но не указал пароль.
Я следовал несколько решений, я нашел в Интернете, чтобы не дало никаких результатов, в том числе следующие:
- Обновление Visual Studio и SSDT;
Копирование MyDeploymentContributor.dll и MyDeploymentContributor.pdb в следующих местах:
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
Захватив журнал событий для SSDT и DacFx (fo не давая указания Кевину Куньяну по телефону https://social.msdn.microsoft.com/Forums/en-US/5c84ab8e-b50b-4ecd-86da-866ac3bb2248/known-issue-with-ssdt-extensibility-in-current-release?forum=ssdt). Вот результаты из журнала DacFx:
- Основные услуги: SafeDirectoryCatalog: Сборка
C:\Program Files (x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions\MyDeploymentContributor.dll
добавил - Core Services: Расширение подстановок: каталог
C:\Program Files (x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions
добавлен в расширение поиска пути - Core Services: FilteringCompositionContainer: Подняв экспорт для
Microsoft.SqlServer.Dac.Deployment.DeploymentPlanExecutor
- Core Services: FilteringCompositionContainer: Изменена политика создания части к NonShared
- Основные услуги: FilteringCompositionContainer: Глядя экспорт для
Microsoft.SqlServer.Dac.Deployment.DeploymentPlanModifier
- Основные услуги: SafeDirectoryCatalog: Сборка
Там не было никаких сообщений ContributorLoader
. Из этого журнала вкладчик, кажется, правильно загружается. В журнале SSDT не было никаких событий, которые упомянули вкладчика.
Там нет необходимых аргументов вкладчика, поэтому DeploymentContributor
узла в моем файле .sqlproj выглядит следующим образом:
<PropertyGroup>
<DeploymentContributors>
$(DeploymentContributors); MyDeploymentContributor.SqlRestartableScriptContributor
</DeploymentContributors>
</PropertyGroup>
Любой помощь приветствуется. Благодаря!
Можете ли вы опубликовать экспорт метода вашего вкладчика (OnExecute?), Пожалуйста, также возьмите образец из https://github.com/DacFxDeploymentContributors/Contributors и посмотрите, работает ли это? Запись является хорошей, чтобы убедиться, что все правильно настроено. –
Мой метод 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. ком/CYYv8ZsE). Я попытался использовать вкладчиков из предоставленной вами ссылки github и получил ту же ошибку (и те же записи журнала DacFx), что и раньше. – Palladian1881
Palladian, я столкнулся с такой же проблемой (в моем случае это VS 2013). Могли ли вы найти решение этой проблемы. Кроме того, нужно ли скопировать MyRefKey.snk вместе с dll в папку расширений? –