msbuild игнорирует ValidateCasingOnIdentifiers, генерирующий sql с SSDT sqlproj - PullRequest
0 голосов
/ 17 февраля 2019

Я установил свой sqlproj, чтобы он не проверял регистр идентификаторов, но когда я генерирую сценарий sql с помощью msbuild, он, кажется, игнорирует это и отображает предупреждения типа 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, но это нетоже не работает.

Я подтвердил, что в моем sqlproj есть строка <ValidateCasingOnIdentifiers>False</ValidateCasingOnIdentifiers>, которая была указана там, когда я установил флажок в настройках проекта в графическом интерфейсе свойств проекта в Visual Studio.

1 Ответ

0 голосов
/ 17 февраля 2019

Я заставил его работать, добавив строку в мой файл sqlproj, прямо под тем местом, где у меня было <ValidateCasingOnIdentifiers>False</ValidateCasingOnIdentifiers>:

<SuppressTSqlWarnings>71558</SuppressTSqlWarnings>

В этой статье я обнаружил, что: https://developercommunity.visualstudio.com/content/problem/19394/unable-to-suppress-build-warnings-for-sql-db-proje.html

...