这几乎是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",似乎这正是它的预期工作方式。
2. 是否有另一种方式具有带有Debug配置和Release配置的2个发布配置文件?
唯一使用调试/发布构建配置的是我的 Config Transforms,其中具有不同的连接字符串。 因此,替代方案但仍为 1 Click 的发布解决方案可接受。
我有两个适用于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",似乎这正是它的预期工作方式。
2. 是否有另一种方式具有带有Debug配置和Release配置的2个发布配置文件?
唯一使用调试/发布构建配置的是我的 Config Transforms,其中具有不同的连接字符串。 因此,替代方案但仍为 1 Click 的发布解决方案可接受。
Environment.MachineName.Equals("MyLiveServersName")
并根据此选择我的 ConnectionString。目前,我的 ConnectionString 只是硬编码到应用程序本身中,但您可以(而且可能应该)通过 ConfigurationSection 或 appSettings 在您的 web/app.config 中设置您的实时服务器名称。 - David Murdoch