【问题标题】:web.config transform not executing on publishweb.config 转换未在发布时执行
【发布时间】:2016-02-09 05:15:54
【问题描述】:

我一直使用 web.config 转换,当我创建一个新站点/项目时,我经常复制以前的站点,根据需要在 csproj 中重命名 *.csproj 并将 oldsite 重命名为 newsite。我经常这样做,但由于某种原因,我的一个项目不会在发布时运行它的转换。我什至不知道在这篇文章中要向您展示什么,所以我会根据您想要看到的内容根据需要更新问题。谷歌搜索我没有找到太多。但这里是我可以告诉你的:

1) 我的 web.config没有有命名空间,我的 web.release.pittsburgh.config 有“transform”命名空间。

2) 我将一个工作的 web.release.pittsburgh.config 的内容复制到一个没有工作的文件中,但它仍然没有工作。

3) 当我发布一个工作站点时,在输出中,我在“发布管道收集文件阶段”之类的行之后看到了一些“Web 配置转换”输出,并且我看到了一个步骤“使用转换的 Web.config.. .' 最后是“发布管道转换阶段”输出行。在我没有工作的项目中,我从“发布管道收集文件阶段”直接进入“发布管道转换阶段”,中间没有任何内容。

我尝试比较 *.csproj 文件以寻找任何明显的东西,但我没有看到任何东西。

如果您有任何想法或想要任何具体信息,请告诉我。

【问题讨论】:

  • 不确定这是否有帮助。试一试。转到 Visual Studio 中的“配置管理器”。查找有效的解决方案配置并单击“新建”并添加“release.pittsburgh”配置。
  • 我已经有了。我还删除了所有 web.config 转换,右键单击 web.config 并说“添加转换”,它添加了 web.Release.Pittsburgh.config。
  • @RajKarri 因此,即使您的建议不是解决方案,它也帮助我找到了解决方案。不知道你应该回答还是我应该回答我自己的问题,但是当我在配置管理器中查看 Release.Pittsburgh 时,由于某种原因,客户端站点的配置是“Release”而不是“Release.Pittsburgh”。当我翻转该设置时,事情开始起作用了。
  • 很高兴听到您能够查明问题。

标签: asp.net web-deployment web.config-transform


【解决方案1】:

请确保以下内容配置正确。

1) “Release.Pittsburgh”配置是否可用。如果没有点击配置管理器并添加新配置。

2) 一旦配置在列表中可用,单击“配置管理器”并确保所有项目配置都针对“Release.Pittsburgh”进行了适当的设置。如果没有,请设置它。

3) 最后一步只是为了确保转换是否正确添加(右键单击 web.config)。

一切顺利后,去发布网站。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-08
    • 2015-10-11
    • 2014-07-01
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多