一键生成Debug/Release构建配置,并使之依赖于所选的发布配置。

25
这几乎是Link build configuration to a publish profile的重复,但那个问题没有得到解答...
我有两个适用于Web应用程序的1 Click Publish配置:
1. 测试服务器 2. 生产服务器
如果我选择 Build => Configuration Manager => Release,然后单击发布按钮,我的应用程序将使用发布配置进行发布(反之亦然) - 而不考虑当前选择的发布配置。
但我真正想要的是…
从 1 Click Publish 设置中设置适当的生成配置。 Test Server 应该使用我的 Debug 设置进行发布,Production Server 应该使用 Release 设置进行发布。
我不应该从 Configuration Manager 中进行更改。 但我需要这样做。
所以,我的两个问题是:
1. 我是否只是错了?根据发布设置中的一个小注释 "Use Build Configuration Manager to change configuration",似乎这正是它的预期工作方式。 booya
2. 是否有另一种方式具有带有Debug配置和Release配置的2个发布配置文件?
唯一使用调试/发布构建配置的是我的 Config Transforms,其中具有不同的连接字符串。 因此,替代方案但仍为 1 Click 的发布解决方案可接受。

在同一条船上,你有没有找到一个好的解决方案? - Craig
2
不,它并不适用于这种方法。由于我所需要做的就是更改应用程序使用的连接字符串,因此现在我只需检查 Environment.MachineName.Equals("MyLiveServersName") 并根据此选择我的 ConnectionString。目前,我的 ConnectionString 只是硬编码到应用程序本身中,但您可以(而且可能应该)通过 ConfigurationSection 或 appSettings 在您的 web/app.config 中设置您的实时服务器名称。 - David Murdoch
很奇怪他们会将构建配置选择与发布分开,因为那是它被使用的时候。感谢您的回复,仍然有所帮助! - Craig
我必须说这真的让我很烦恼。我花了半天时间试图弄清楚为什么我无法连接到数据库。原来是由于这个问题,我使用了错误的配置。 - Andrew
David,看看@Jeff的回答-它是这个问题的最佳解决方案(我刚使用过),如果有帮助,请接受它作为答案。 - nikib3ro
这个问题仍然没有得到解答,因此它是一个重复的问题。 - Steffe
2个回答

2
“可以通过使用多个Web部署包以另一种方式进行操作。基本上创建两个不同的项目,每个项目都将编译并设置asp.net构建配置和输出。然后作为其一部分脚本化部署。有点hacky(希望发布配置文件可以按您所需设置构建配置)。除此之外,我通常通过PowerShell脚本完成,并从我的桌面启动部署,执行所有适当的编译和部署方案。”

http://msdn.microsoft.com/en-us/magazine/cc163448.aspx

http://johnnycoder.com/blog/2010/01/07/deploy-aspnet-web-applications-with-web-deployment-projects/


1

这就是你想要的解决方案。 - Steffe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接