- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在使用 WIX 安装数据库时部署 dacpac。为此,我考虑过使用必要的开关运行 SQLPackage.exe 命令,因此我使用二进制标记嵌入了必要的 exe 和 dll,如下所示
<Binary Id="Microsoft.Data.Tools.Schema.Sql.dll" SourceFile="..\DeployDBs\DAC\Microsoft.Data.Tools.Schema.Sql.dll"/>
<Binary Id="Microsoft.Data.Tools.Schema.Tasks.Sql.11.dll" SourceFile="..\DeployDBs\DAC\Microsoft.Data.Tools.Schema.Tasks.Sql.11.dll"/>
<Binary Id="Microsoft.Data.Tools.Schema.Utilities.Sql.11.dll" SourceFile="..\DeployDBs\DAC\Microsoft.Data.Tools.Schema.Utilities.Sql.11.dll"/>
<Binary Id="Microsoft.Data.Tools.Utilities.dll" SourceFile="..\DeployDBs\DAC\Microsoft.Data.Tools.Utilities.dll"/>
<Binary Id="Microsoft.SqlServer.Dac.dll" SourceFile="..\DeployDBs\DAC\Microsoft.SqlServer.Dac.dll"/>
<Binary Id="SqlPackage" SourceFile="..\DeployDBs\DAC\SqlPackage.exe"/>
<Binary Id="SqlPackage.exe.config" SourceFile="..\DeployDBs\DAC\SqlPackage.exe.config"/>
然后使用自定义操作调用 SqlPackage.exe,如下所示
<CustomAction Id="DeployMyDb" BinaryKey="SqlPackage"
ExeCommand="/a:publish /sf:"MyDacpac.dacpac" /tsn:localhost /tdn:MyDb"
Execute="immediate" />
自定义操作是在“InstallFinalize”之后运行的序列,如下所示
<InstallExecuteSequence>
<Custom Action="DeployMyDb" After="InstallFinalize"/>
</InstallExecuteSequence>
</Product>
部署 dacpac 时(即运行自定义操作),它会为作为嵌入式二进制文件之一的程序集“Microsoft.Data.Tools.Utilities”抛出“FileNotFoundException”。
请告知缺少的步骤或运行此 exe 需要完成的添加操作。
最佳答案
我找到了解决方案。
我没有采用上述方法,而是为自定义操作创建了一个单独的项目,并添加了对所需二进制文件的引用(即我之前在
得到的解决方案如下:
<Binary Id="InstallerWix_CustomAction.CA.dll" SourceFile="..\InstallerWix_CustomAction\bin\Debug\InstallerWix_CustomAction.CA.dll" />
<CustomAction Id="DeployDb" BinaryKey="InstallerWix_CustomAction.CA.dll"
DllEntry="CustomAction1"
Execute="immediate" Return="check" />
<InstallExecuteSequence>
<Custom Action="DeployDb" After="InstallFinalize"/>
</InstallExecuteSequence>
关于c# - 使用 WIX 创建安装程序时执行 sqlpackage.exe(它有几个依赖的 dll),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25604411/
在 VS 2012 中,架构比较工具允许用户通过选择“存储过程”选项作为应用程序范围对象来仅比较“存储过程”。 有没有办法使用 SqlPackage.exe 只对选定的模式对象执行模式比较? 最佳答案
我有一个在 powershell 中运行的脚本。我使用带有用户名和密码的 sql 登录,而不是这样做我想使用带有用户名和密码的域用户。 sqlpackage.exe /SourceFile:"" /A
我在 Visual Studio 2017 中有一个数据库项目。我们的数据库项目的管理方式与任何其他代码库一样,多个开发人员可以根据需要更新项目。为了减轻部署的痛苦,我在我们的 TFS 2018 (v
我正在尝试使用 sqlpackage发表思想的工具CMD : sqlpackage /action:Publish /SourceFile:"Database Services\bin\Release
我正在运行以下 sqlpackage命令反对我的 sqlserver : sqlpackage /action:Publish /SourceFile:"Database Services\bin\
使用 SqlPackage.exe 将 Azure 数据库迁移到 V12 预览版以导出并将数据库导入到本地计算机后,出现错误: Error SQL72014: .Net SqlClient Data
使用 SqlPackage.exe 将 Azure 数据库迁移到 V12 预览版以导出并将数据库导入到本地计算机后,出现错误: Error SQL72014: .Net SqlClient Data
全部, 我想在 CI 过程中创建一个包含目标数据库架构的 DACPAC 文件。我可以将其用作基线模式来创建一个测试平台,我可以根据它测试发布中的脚本。 SqlPackage.exe /TargetFi
我们使用 PowerShell 脚本来部署 SQL 数据库。此脚本使用 SqlPackage.exe 实用程序发布我们的主数据库,它工作正常,直到我们将 SSDT 升级到最新版本 SSDT 2015
我使用 VS2015 在 Release模式下构建我的数据库项目,然后将生成的 .dacpac 文件复制到我的生产服务器。 然后我运行如下命令: sqlpackage.exe /action:publ
安装 Sql Server Data Tools 后,我尝试使用 SqlPackage.exe来自:C:\Program Files (x86)\Microsoft SQL Server\120\DA
我在 Visual Studio 中有一个 SQL Server 数据库项目,并且删除了一个现有的存储过程。我在本地也有一个数据库,其中存在确切的存储过程。 当我在 Visual Studio 中对两
我有一个脚本可以在 CI 服务器上自动创建数据库,但是,SqlPackage.exe 的输出非常嘈杂。根据documentation ,有一个/Quiet:True 标志可以防止这种情况发生,但是,设
因此,我们正在努力添加 SQL DACPAC 作为我们持续集成的一部分。我们使用运行“sqlpackage.exe”和每个 DacPac 文件的 powershell 脚本来做到这一点。我们有大约 1
我经常使用 EF 迁移来部署数据库,无论是从头开始还是为了进化。然而,我目前正在从事另一个使用 DACPAC 的团队项目,直到今天,这似乎也一样好。今天,我向缺少它的表添加了一个唯一键约束,正如您可能
因为我们可以在 Visual Studio 2012 中使用来自 Microsoft SSDT 的 SqlPackage.exe 来同步数据库,如讨论的那样 here ,我用它来同步目标数据库,称为
当我尝试部署 时DACPAC 通过 SqlPackage.exe , 我遇到以下错误: An unexpected failure occurred: Object reference not set
我想忽略 DevOps 发布管道中特定架构的更改。我正在尝试找到它的 Sqlpackage.exe 命令。我在这里查看了文档:https://learn.microsoft.com/en-us/sql
我们正在使用 Sql Server 数据库项目通过 SqlPackage.exe 从 DacPac 创建部署脚本。我们在不同的环境中设置了不同的 SQL Server 文件组。部署时,我们排除文件组,
我想忽略 DevOps 发布管道中特定架构的更改。我正在尝试找到它的 Sqlpackage.exe 命令。我在这里查看了文档:https://learn.microsoft.com/en-us/sql
我是一名优秀的程序员,十分优秀!