获取 Visual Studio 中预生成事件命令行的活动解决方案配置名称

Posted

技术标签:

【中文标题】获取 Visual Studio 中预生成事件命令行的活动解决方案配置名称【英文标题】:Get active solution configuration name for pre-build event command line in Visual Studio 【发布时间】:2021-09-08 06:37:18 【问题描述】:

我的解决方案中的配置很少,我想在构建事件之前复制文件app.my-own-configuration-name.config

我知道变量 $(Configuration),但这个变量只包含 DebugRelease 名称,而不是我的解决方案配置名称。我怎样才能做到这一点?

The command "xcopy /Y "C:\xxx\config\App.Debug.config" "C:\xxx\App.config"" exited with code 2.

这应该复制App.Dev.config,而不是App.Debug.config

【问题讨论】:

【参考方案1】:

尝试使用“$(ConfigurationName)”。

如果还是不行,你需要去Build > Configuration Manager,然后检查你的项目是否在这个配置下。

【讨论】:

谢谢。 $(ConfigurationName) 不工作。在配置管理器窗口中为项目添加新配置有效(我仍在使用$(Configuration) 如果我的活动解决方案配置是DEV1 但我的项目配置是DEV2 怎么办?我怎样才能把它们都找回来?【参考方案2】:

您可能想查看Slow Cheetah。它将有助于将配置文件转换为构建配置。

查看您的复制命令,C:\...\ 是无效路径。也许你需要 $(SolutionDir)?

【讨论】:

路径没问题 - 我刚刚删除了这个问题的所有文件夹 关于 Slow Cheetah - 我正在为 Azure DevOps Pipelines 寻找 CI/CD 解决方案,因此 Visual Studio 的插件对我没有帮助 我们在 MS Devops 环境中使用 Slow Cheetah - 它是构建过程的一部分,并在构建管道中进行转换,然后使用正确的配置文件创建工件。它是 VS 在构建时转换配置文件的插件。

以上是关于获取 Visual Studio 中预生成事件命令行的活动解决方案配置名称的主要内容,如果未能解决你的问题,请参考以下文章

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

如何将命令行代码生成器添加到 Visual Studio?

Visual Studio:多个构建后命令?

使用 Visual Studio 建模项目创建 C# 事件

怎样让运行visual studio时生成的命令提示框持续的显示?

visual studio 2019从mysql数据库表通过命令自动生成实体类模型