sqlproj post-build $(Configuration) 在 TFS 上不正确

Posted

技术标签:

【中文标题】sqlproj post-build $(Configuration) 在 TFS 上不正确【英文标题】:sqlproj post-build $(Configuration) incorrect on TFS 【发布时间】:2013-01-21 11:39:57 【问题描述】:

我正在使用最新版本的 SSDT 编写 sqlproj,但使用 TFS 似乎无法正确评估构建后事件 $(Configuration) 宏。

我在项目中编写了以下构建后事件命令

"$(ProjectDir)$(ProjectName).Config\$(Configuration)\DeployCommand.cmd"

在我使用 Visual Studio 的机器上,这可以正确评估为

“C:\Workspaces\MyProject\Dev\Src\MyProject.Database\MyProject.Database.Config\Debug\DeployCommand.cmd”

当我使用 IDE 在各种构建配置(发布、UAT 等)之间切换时,上述更改正确。但是使用 TFS 2012 时,它会错误地(请参阅 Debug 文件夹)评估为(即使我的构建配置未设置为 Debug)

“C:\Workspaces\MyProject\Dev\Src\MyProject.Database\MyProject.Database.Config\Debug\DeployCommand.cmd”

我还有其他正确评估 $(Configuration) 宏的 C# 项目。

有人看过这个吗?

【问题讨论】:

【参考方案1】:

事实证明,我在解决方案中的构建配置非常微妙地错误。我手动更正了它们。

31173859-02F5-4CFC-BD9A-C7BA45F8A7B7.Dev|Any CPU.ActiveCfg = Dev|Any CPU
31173859-02F5-4CFC-BD9A-C7BA45F8A7B7.Dev|Any CPU.Build.0 = Dev|Any CPU
31173859-02F5-4CFC-BD9A-C7BA45F8A7B7.Dev|Mixed Platforms.ActiveCfg = Dev|Any CPU
31173859-02F5-4CFC-BD9A-C7BA45F8A7B7.Dev|Mixed Platforms.Build.0 = Dev|Any CPU
31173859-02F5-4CFC-BD9A-C7BA45F8A7B7.Dev|x86.ActiveCfg = Dev|Any CPU

【讨论】:

以上是关于sqlproj post-build $(Configuration) 在 TFS 上不正确的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017 中 sqlproj 的 AfterPublish 目标

TeamCity/.sqlproj 通过 MSBuild 构建——失败

Post-build Actions 部分看不到注入的环境变量

Visual Studio Post-build 事件:for %f in (set) command

Visual Studio Post-Build 事件调用带有空格的参数的批处理文件

在 SQL Server 2012 SSDT 解决方案中引用 CLR 项目