web.config 转换未在发布时执行

web.config transform not executing on publish

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

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

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

3) 当我发布一个工作站点时,在输出中,我看到像 'Publish Pipeline Collect Files Phase' 这样的行后有一些 'web config transform' 输出,我看到一个步骤 'Transformed Web.config using...' 最后一个'Publish Pipeline Transform Phase' 输出行。在我的 none 工作项目中,我从 'Publish Pipeline Collect Files Phase' 直接转到 'Publish Pipeline Transform Phase',中间没有任何东西。

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

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

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

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

2) 一旦列表中的配置可用,单击 "Configuration Manager" 并确保为 "Release.Pittsburgh" 正确设置所有项目配置。如果没有,请设置。

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

一切就绪后,去发布网站。