我需要拦截SSDT构建来修改构建脚本.我已经按照MSDN部署计划修改器教程,但是当我尝试构建数据库项目时,出现以下错误:
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的事件日志(遵循Kevin Cunnane的说明,访问https://social.msdn.microsoft.com/Forums/en-US/5c84ab8e-b50b-4ecd-86da-866ac3bb2248/known-issue-with-ssdt-可扩展性 - 当前 - 释放?论坛= ssdt).以下是DacFx日志的结果:
核心服务:SafeDirectoryCatalog:已C:\Program Files
(x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions\MyDeploymentContributor.dll
添加程序集
核心服务:扩展查找:C:\Program Files
(x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions
添加到扩展查找路径的目录
核心服务:FilteringCompositionContainer:查找导出
Microsoft.SqlServer.Dac.Deployment.DeploymentPlanExecutor
核心服务:FilteringCompositionContainer:将部件创建策略更改为NonShared
核心服务:FilteringCompositionContainer:查找导出
Microsoft.SqlServer.Dac.Deployment.DeploymentPlanModifier
没有ContributorLoader
消息.从该日志中,贡献者似乎正确加载.SSDT日志不包含任何提及贡献者的事件.
没有必需的贡献者参数,因此DeploymentContributor
我的.sqlproj文件中的节点如下所示:
$(DeploymentContributors); MyDeploymentContributor.SqlRestartableScriptContributor
任何帮助表示赞赏.谢谢!