msbuild 忽略 ValidateCasingOnIdentifiers 生成 sql with SSDT sqlproj
msbuild ignores ValidateCasingOnIdentifiers generating sql with SSDT sqlproj
我将 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 Studio17\Community\MSBuild.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 的项目属性 GUI 中单击项目设置中的复选框时,它被放在那里。
我通过在我的 sqlproj 文件中添加一行来让它工作,就在我 <ValidateCasingOnIdentifiers>False</ValidateCasingOnIdentifiers>
:
的位置下面
<SuppressTSqlWarnings>71558</SuppressTSqlWarnings>
我将 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 Studio17\Community\MSBuild.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 的项目属性 GUI 中单击项目设置中的复选框时,它被放在那里。
我通过在我的 sqlproj 文件中添加一行来让它工作,就在我 <ValidateCasingOnIdentifiers>False</ValidateCasingOnIdentifiers>
:
<SuppressTSqlWarnings>71558</SuppressTSqlWarnings>