获取 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)
,但这个变量只包含 Debug
或 Release
名称,而不是我的解决方案配置名称。我怎样才能做到这一点?
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