gpt4 book ai didi

sql-server - SQL Server数据工具: Error loading custom DeploymentPlanModifier: Required contributor with id could not be loaded

转载 作者:行者123 更新时间:2023-12-02 10:26:51 25 4
gpt4 key购买 nike

我需要拦截 SSDT 构建来修改构建脚本。我已经关注了MSDN Deployment Plan Modifier tutorial ,但是当我尝试构建数据库项目时,出现以下错误:

Required contributor with id 'MyDeploymentContributor.SqlRestartableScriptContributor'
could not be loaded.

我使用的是 Visual Studio 2012(版本 11.0.61219.00 Update 5)和 SSDT 版本 11.1.50730.0。

我签署了程序集,但没有指定密码。

我遵循了网上找到的几种解决方案,但均无效,包括以下内容:

  1. 更新 Visual Studio 和 SSDT;
  2. 将 MyDeploymentContributor.dll 和 MyDeploymentContributor.pdb 复制到以下位置:

    1. C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\Extensions
    2. C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin
    3. C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120
    4. C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\Extensions
  3. 捕获 SSDT 和 DacFx 的事件日志(遵循 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 上的说明)。以下是 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:更改了部件创建政策至非共享
    • 核心服务:FilteringCompositionContainer:查找导出Microsoft.SqlServer.Dac.Deployment.DeploymentPlanModifier

没有 ContributorLoader 消息。从这个日志来看,贡献者似乎加载正确。 SSDT 日志不包含任何提及贡献者的事件。

没有必需的贡献者参数,因此我的 .sqlproj 文件中的 DeploymentContributor 节点如下所示:

<PropertyGroup>
<DeploymentContributors>
$(DeploymentContributors); MyDeploymentContributor.SqlRestartableScriptContributor
</DeploymentContributors>
</PropertyGroup>

感谢任何帮助。谢谢!

最佳答案

感谢 Ed Elliot (https://the.agilesql.club/Blogs/Ed-Elliott/About),我能够解决我的案例中的这个问题。

我听从了埃德的建议,结果成功了。我创建了一个类似 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\Extensions\[YourContributorName]\ 的文件夹并复制 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120 中的所有内容(包括 DLL)到那里。

在贡献者项目中,我引用了C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\Extensions\[YourContributorName]\里面的DLL

项目成功构建后,我将贡献者 .dll 和 .pdb 文件复制到以下位置:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\Extensions\[YourContributorName]\

之前,我引用了 C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin 中的 DLL。 .

希望这会对某人有所帮助。

关于sql-server - SQL Server数据工具: Error loading custom DeploymentPlanModifier: Required contributor with id could not be loaded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34520446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com