【问题标题】:msbuild schema compare - Empty targetmsbuild 架构比较 - 空目标
【发布时间】:2015-08-13 14:48:47
【问题描述】:

我正在考虑从命令行使用 MSBUILD 来运行架构比较 (*.scmp)

在解决方案中,我们有多个数据库,并且团队并不总是那么善于记住将更改(存储过程、表等)检查到解决方案中。虽然 Visual Studio 可以显示比较,但我找不到导出错误列表的方法,以便我追逐团队。屏幕截图似乎是唯一的方法。

我想我会看看是否有任何工具来生成差异列表。我遇到了以下示例:

http://blogs.msdn.com/b/ssdt/archive/2014/07/15/msbuild-support-for-schema-compare-is-available.aspx

我看到了这个例子:

C:\SampleProject > msbuild /t:SqlSchemaCompare /p:SqlScmpFilePath="d:\sc.scmp" /p:target="d:\target.dacpac" /p:TextOutput="d:\1.out" /p:Deploy="true

但是我无法让它工作。当我针对我的特定设置运行等效项时,我得到:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT\Microsoft.Data.Tools.Schema.SqlTask​​s.targets(843,5): SchemaCompare 错误:焦油 获取参与者无效或为空。在 Microsoft.Data.Tools.Schema.Tasks.Sql.SqlSchemaCompareTask.Execute() [C:\TFS\Argon_Main Solution_Latest R elease\Source\Blah\SomeData.DataDatabase.sqlproj]

有人有什么想法吗?

干杯

【问题讨论】:

  • 嗨,我没有从命令行使用模式比较,但听起来你正在以错误的方式解决问题 - 我个人会强迫你的开发人员签入代码,如果你做定期从源代码管理部署并且他们不断丢失更改,他们将签入 - 他们应该在自己的实例上工作并签入以推送到共享实例,而不是直接在共享实例上工作 - 这将实际解决你的问题:)

标签: visual-studio-2013 msbuild schema-compare


【解决方案1】:

前几天我遇到了这个问题。原来问题是我需要使用VisualStudioVersion 命令行参数。

msbuild /t:SqlSchemaCompare /p:VisualStudioVersion=14.0 /p:SqlScmpFilePath="MySchemaCompare.scmp" /p:target="MyConnectionString" /p:TextOutput="..\output.out"

您的Microsoft.Data.Tools.Schema.SqlTasks.targets 文件应位于C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\{Your VS Version}\SSDT

【讨论】:

    【解决方案2】:

    我知道这个问题已经有一段时间了,但我还是会回答的。

    首先,我不清楚您要准确比较什么。您是要比较项目的两个版本以查看差异,还是要将项目与数据库进行比较?

    我注意到的一件事是您在命令行中指定了两次目标。首先,通过 SqlScmpFilePath 参数引用的 .scmp 文件包含源和目标。其次,target 参数还定义了一个目标。 target 参数将覆盖 .scmp 文件中的任何内容。

    如果您的 .scmp 文件具有正确的源但您想在 .dacpac 文件中指定目标,那么这可能是故意的。

    .dacpac 文件可以在构建后的 SSDT 项目的 bin\Debug 或 bin\Release 文件夹中找到。为了使您的命令正常工作,您需要确保“d:\target.dacpac”存在并且是这样的文件。

    .scmp 文件是通过在 Visual Studio 中执行 架构比较 创建的,然后在选择源和目标后保存比较窗口。为了使您的命令正常工作,您需要确保“d:\sc.scmp”存在并且是这样的文件。

    如果这有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-22
      • 2021-07-18
      • 2015-03-10
      • 1970-01-01
      • 2011-03-19
      • 2019-12-21
      • 1970-01-01
      相关资源
      最近更新 更多