“AdditionalDeploymentContributors”不是“发布”操作的有效参数

2024-01-03

我有一组视图,其中只需要部署一个,每个部署中都有一个不同的视图。过滤 DacPac 部署 https://the.agilesql.club/Blogs/Ed-Elliott/HOWTO-Filter-Dacpac-Deployments应该这样做。我知道开箱即用的选项有改善 https://blogs.msdn.microsoft.com/ssdt/2015/02/23/new-advanced-publish-options-to-specify-object-types-to-exclude-or-not-drop/,但这不能满足我的需要。

数据库发布通过sql包 https://msdn.microsoft.com/en-us/hh550080(v=vs.103).aspx它明确列出了这些对发布操作有效的参数。然而,当我使用它们时,它会产生错误(红色):

*** 'AdditionalDeploymentContributors' is not a valid argument for the 'Publish' action.
*** 'AdditionalDeploymentContributorArguments' is not a valid argument for the 'Publish' action.

我在 Deploy.ps1 文件中使用以下命令:

& $sqlpackageFileName /a:Publish /sf:$DacPacFileName /tcs:$ConnectionString /v:RefToOtherDatabase="${OtherDatabaseName}" /pr:$OptionsFromPublishFile /p:AdditionalDeploymentContributors="AgileSqlClub.DeploymentFilterContributor" /p:AdditionalDeploymentContributorArguments=$NordicsDeployFilter

我可能已经从我的发布配置文件中获得了选项。但如果我将它们放入 PropertyGroup 中,发布会产生错误:Contributor initialization error。无法获得更多详细信息。

  1. 为什么无法加载AdditionalDeploymentContributor

编辑: 感谢您的回复,只是为了保持问题完整,添加我评论中的内容。

我正在使用 SQL Server 2012,我认为它是版本 110。在我的文件夹结构中:Microsoft SQL Server/110/DAC/bin我找不到您引用的 .dll。它是在Microsoft SQL Server/120/DAC/bin而且我没有安装过版本所以Microsoft SQL Server/130/DAC/bin包含很少,没有 DAC 文件夹。

  1. 我应该在哪里添加这些 .dll?

当我尝试更改配置文件时,它会产生错误Please check if this file is opened in another program.。我尝试停止 SQL Server Windows 服务,认为他们可能正在使用它。 Process Explorer 找不到正在使用的文件,Openfiles 找不到任何打开的文件。尽管我在 Notepad++ 中打开了该文件,所以我不清楚它的作用。

  1. 我必须做什么才能编辑配置文件?

注意:我使用的是 Visual Studio 2013 和 SQL Server 2012。使用 Visual Studio 2013 的 SSDT 工具。


我怀疑您收到 Contributor 初始化错误是因为您将 Ed 的贡献者与最新版本的 SqlPackage.exe 一起使用。部署贡献者是针对早期版本的 DACFx API 构建的,我们更新了一些版本号。您可以通过向 SqlPackage.exe.config 文件添加绑定重定向来解决此问题。以下是 Jack Yang 在 MSDN SSDT 论坛上的说明(https://social.msdn.microsoft.com/Forums/sqlserver/en-US/ee3f886e-6b5e-4b95-b912-e06354534bf9/sqlpackageexe-version-130-wont-load-additionaldeploymentcontributors?forum=ssdt https://social.msdn.microsoft.com/Forums/sqlserver/en-US/ee3f886e-6b5e-4b95-b912-e06354534bf9/sqlpackageexe-version-130-wont-load-additionaldeploymentcontributors?forum=ssdt)

要针对版本 130 运行,请修改 SqlPackage.exe.config 以在 Microsoft.SqlServer.Dac.dll 和 Microsoft.SqlServer.Dac.Extensions.dll 上添加绑定重定向。该文件位于 SqlPackage.exe 旁边。

示例如下所示,

<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <bindingRedirect oldVersion="10.0.0.0" newVersion="13.0.0.0" /> <bindingRedirect oldVersion="12.0.0.0-13.0.0.0" newVersion="13.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.TransactSql.ScriptDom" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <bindingRedirect oldVersion="12.0.0.0-13.0.0.0" newVersion="13.100.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.Dac" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="12.0.0.0" newVersion="13.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.Dac.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="12.0.0.0" newVersion="13.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>

我们于 7 月份开始通过 DacFx 发布 Microsoft.SqlServer.TransactSql.ScriptDom 的 AppLocal 版本;因此,根据您使用的 DacFx 版本,如果您在 DacFx 所在的同一文件夹中没有看到 Microsoft.SqlServer.TransactSql.ScriptDom.dll,则不需要对其进行绑定重定向。它应该已经在 GAC 中了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“AdditionalDeploymentContributors”不是“发布”操作的有效参数 的相关文章

  • Access / Word 2010 VBA 邮件合并尝试打开 [文件夹名称].mdb 而不是 ACCDB 源

    我们正在尝试从 Access 中自动执行邮件合并过程 单击按钮后 VBA 将运行指定当前数据库 accdb 作为数据源并运行 SQL 具体代码如下 Set up Word Dim objWord As Object Set objWord
  • 在哪里存储 Java 的 .properties 文件?

    The Java教程 http download oracle com javase tutorial essential environment properties htmlon using Properties 讨论如何使用 Prop
  • 在 GWT 中,在任何主机页标记上添加事件处理程序

    我想为任何标签添加 MouseOver 事件处理程序 举个例子 我想为旧版 HTML 页面中的每个锚点页面添加事件处理程序 继GWT指南 http code google com webtoolkit doc 1 6 DevGuideUse
  • ngmodel与Angular2中复选框的动态数组绑定

    我有一个 Angular 2 组件 其中我从数组生成复选框列表 现在我需要根据选中的复选框填充不同的数组 这应该是双向绑定 这意味着如果复选框的值已在数组中 则必须已经检查了复选框 我在 Angular 1 中使用了一个名为 checkli
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行
  • 您可以使用关键字参数而不提供默认值吗?

    我习惯于在 Python 中使用这样的函数 方法定义 def my function arg1 None arg2 default do stuff here 如果我不供应arg1 or arg2 那么默认值None or default
  • Scrapy Spider不存储状态(持久状态)

    您好 有一个基本的蜘蛛 可以运行以获取给定域上的所有链接 我想确保它保持其状态 以便它可以从离开的位置恢复 我已按照给定的网址进行操作http doc scrapy org en latest topics jobs html http d
  • 在 Android 中使用 iText 将图像添加到特定位置

    我想使用 Android 中的 iText 将图像添加到 PDF 文件中的特定位置 这是一个可填写的表单 我添加了作为图像占位符的文本框 我想要做的就是像这样获取该文本框和图像 public class FormFill public st
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项
  • NGinx $proxy_add_x_forwarded_for 和 real_ip_header

    我在 NGinx 下有一个 web 应用程序和另一个前端负载均衡器 如下所示 x x x x IP 地址 客户端 a a a a gt LB b b b b gt NGX c c c c gt WEBAPP d d d d 这是我的 NGi
  • 带显示块的SPAN

    和默认有什么区别 div 元素和默认值 span 元素与display block HTML 元素的有效性和语义存在差异 否则它们是相同的 div and span两者都被定义为通用容器 在 HTML 方面没有更深层次的含义 一个默认为块显
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检
  • 使用泛型全面实现特征

    我正在通过实现矩阵数学来练习 Rust 但遇到了一些障碍 我定义了我认为与矩阵相关的特征 trait Matrix
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创
  • 保存符号方程以供以后使用?

    From here http www mathworks com help releases R2011a toolbox symbolic brvfu8o 1 html brvfxem 1 我正在尝试求解这样的符号方程组 syms x y
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function
  • android ndk 硬件调试内存

    背景 我对 C 很有经验 对 Android 和 Java 还很陌生 但这是编程的环境问题 我已经用 ANSI C 开发了一个管理应用程序 可以移植到任何操作系统 只需在依赖于操作系统的代码中添加 UI 即可 它使用相当多的内存 特别是对于

随机推荐