9

考虑以下场景:

  • 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 单击 Settings 选项卡(在 Publish Wizard 中)并看到显示的配置是"Release"
  • Bob 发布应用程序。
  • Bob 意识到应用程序是使用“调试”配置而不是“发布”配置发布的。

原因是关于构建配置的信息存储在文件“ *.pubxml.user”中(参见节点调用<LastUsedBuildConfiguration>)。

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

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

相关文章:

4

2 回答 2

11

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

与团队成员共享个人资料

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

  1. ASP.NET 2012.2
  2. 最新的 Azure SDK

If you have installed one of those and you are still seeing the behavior where the Config is not shared that is likely because the .pubxml was created with an older drop. The solution is to delete the .pubxml and .pubxml.user file and create it again with the latest.

Command line scenarios

For command line scenarios the Configuration property needs to be set explicitly. The .pubxml (or .pubxml.user) file cannot override that value. For more details see my blog at http://sedodream.com/2012/10/27/MSBuildHowToSetTheConfigurationProperty.aspx.

于 2013-03-21T19:04:18.900 回答
0

If you have a backup of this Project then no need to worry about this error. Just run the backup project in VS 2012 OR 2013 and open the node of Property and then publish Profile folder and the then you will see there a single file with name of "Your project name.xml" now go to solution explorer menu press the button of "show all files" and you can see an other file with the name of "pubxml.user". Now right click on the publish Profile and click the option "open folder in file explorer" now copy the file and replace it with crashed file.

Now rebuild project and after that publish it.

I was getting this problem today with this project Hajj and Umrah Project now you can see that is live.

于 2015-06-24T20:06:15.297 回答