Tyl*_*nes 1 msbuild msbuild-task sqlproj sql-server-data-tools
我想在我的 SSDT 项目中有条件地构建部署后脚本,但我不明白该怎么做。因此,通常会构建部署后脚本,但我想要一种在进行调试构建时不构建或运行部署后脚本的方法。我正在从命令行运行构建,因此我可以传入属性,但是如何使用属性来不运行部署后脚本?
我看到的选项是 SQLCMD,或编辑 SQLPROJ 文件,或传入属性,但我找不到任何关于 SQLPROJ 文件可用属性和不可用属性的参考。
我想要有条件构建的文件位于此处:
<ItemGroup>
<PostDeploy Include="PostDeploymentScripts\Script.PostDeployment1.sql" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
我的调试构建块如下所示:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
我的命令行如下所示:
msbuild $sqlprojFilePath /p:Configuration="Debug"
Run Code Online (Sandbox Code Playgroud)
在 .sqlproj 中,添加此行以在导入 Microsoft.Data.Tools.Schema.SqlTasks.targets 之后发生
导入 *SqlTasks.targets 后,在项目文件中找到此行。
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(MSBuildToolsVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<PropertyGroup Condition="'$(Configuration)'=='debug'">
<DeployDependsOn />
<SqlDeployDependsOn />
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
这将从依赖链中删除部署项目,并且可以修改为使用备用属性。
<PropertyGroup Condition="'$(SkipDeployment)'=='true'">
<DeployDependsOn />
<SqlDeployDependsOn />
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
命令行:
msbuild.exe mydb.sqlproj /p:SkipDeployment=true
Run Code Online (Sandbox Code Playgroud)
大编辑:
或者你可以采取这个:
<ItemGroup>
<PostDeploy Include="PostDeploymentScripts\Script.PostDeployment1.sql" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
并将其更改为如下所示:
<ItemGroup Condition="'$(Configuration)'=='debug'">
<PostDeploy Include="PostDeploymentScripts\Script.PostDeployment1.sql" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3262 次 |
最近记录: |