【问题标题】:msbuild ignores ValidateCasingOnIdentifiers generating sql with SSDT sqlprojmsbuild 忽略 ValidateCasingOnIdentifiers 使用 SSDT sqlproj 生成 sql
【发布时间】:2019-02-17 16:47:18
【问题描述】:

我将我的 sqlproj 设置为不验证标识符的大小写,但是当我使用 msbuild 生成一个 sql 脚本时,它似乎忽略了这一点并显示像 warning SQL71558: The object reference [dbo].[table].[deleted] differs only by case from the object definition [dbo].[table].[Deleted]. 这样的警告。

请注意,在 Visual Studio 中构建时,警告不会按预期显示。

这是我在 cmdline 上运行的内容:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\msbuild.exe" /p:Configuration=Release /p:Platform=AnyCpu /p:TargetDatabaseName=dbName /p:TargetConnectionString="Data Source=.\SQLExpress;Initial Catalog=dbName;Integrated Security=True" /p:DeployScriptFileName=publish.sql /p:UpdateDatabase=False /p:CommentOutSetVarDeclarations=True /t:Rebuild,Deploy "c:\dev\project\Sql.sqlproj"

我也尝试将/p:ValidateCasingOnIdentifiers=False 添加到 msbuild 命令中,但这也不起作用。

当我在 Visual Studio 的项目属性 GUI 中单击项目设置中的复选框时,我确认我的 sqlproj 有 <ValidateCasingOnIdentifiers>False</ValidateCasingOnIdentifiers> 行。

【问题讨论】:

    标签: msbuild sql-server-data-tools sqlproj


    【解决方案1】:

    我通过在我的 sqlproj 文件中添加一行来让它工作,就在我有 <ValidateCasingOnIdentifiers>False</ValidateCasingOnIdentifiers> 的位置:

    <SuppressTSqlWarnings>71558</SuppressTSqlWarnings>

    这篇文章让我发现:https://developercommunity.visualstudio.com/content/problem/19394/unable-to-suppress-build-warnings-for-sql-db-proje.html

    【讨论】:

      猜你喜欢
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      • 1970-01-01
      • 2017-07-18
      相关资源
      最近更新 更多