Я установил свой 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.