微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 发布配置文件不会发布所需的构建配置(.pubxml.user)

请考虑以下情形:

> Alice使用Visual Studio 2012创建Web应用程序(ASP.NET MVC或WebForms).
> Alice创建名为“PRODUCTION”的发布配置文件,并在“设置”选项卡(在“发布向导”中)中选择“发布”配置.
> Alice使用名为“PRODUCTION”的发布配置文件发布应用程序.
> Alice将解决方案保存到源代码管理中.

请注意,认情况下,“* .pubxml.user”文件不包含在源代码管理中:http://msdn.microsoft.com/en-us/library/ff398069.aspx

> Bob从源代码管理中检出解决方案.
> Bob打开解决方案并启动发布向导.
> Bob看到所选的发布配置文件称为“PRODUCTION”.
> Bob单击“设置”选项卡(在“发布向导”中),看到显示的配置为“发布”.
> Bob发布应用程序.
> Bob意识到应用程序是使用“Debug”配置而不是“Release”配置发布的.

原因是有关构建配置的信息存储在文件“* .pubxml.user”中(请参阅名为< LastUsedBuildConfiguration>的节点).

当您使用Web配置转换(“Web.Release.config”)更改连接字符串时,此行为是有问题的.

=>如果我不想将“* .pubxml.user”文件保存到源代码管理中,那么如何解决此问题(例如,因为此文件可能包含不适合公共存储库的其他信息)?

相关文章

> http://connect.microsoft.com/VisualStudio/feedback/details/776066/publish-settings-windows-azure-publish-target-profiles-not-selecting-proper-build-configuration
> http://sedodream.com/2012/10/27/MSBuildHowToSetTheConfigurationProperty.aspx
> http://msdn.microsoft.com/en-us/library/dd465337.aspx

解决方法

这有两个方面;在“发布”对话框的下拉列表中共享值并支持命令行.以下是我对两者的评论.

与团队成员共享配置文件

当我们在VS2012 RTM中发布发布位时,我们将LastUseBuildConfiguraiton写入.pubxml.user文件.之后我们将其移动到.pubxml文件本身,以便与其他团队成员共享.您可以在以下位置获得最新版本:

> ASP.NET 2012.2
> Latest Azure SDK

如果您已经安装了其中一个,并且您仍然看到不共享Config的行为,可能是因为.pubxml是使用较旧的drop创建的.解决方案是删除.pubxml和.pubxml.user文件,并使用最新文件再次创建它.

命令行方案

对于命令行方案,需要显式设置Configuration属性. .pubxml(或.pubxml.user)文件无法覆盖该值.有关详细信息,请参阅我的博客http://sedodream.com/2012/10/27/MSBuildHowToSetTheConfigurationProperty.aspx.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐