修改 Web.Config 以进行持续集成

发布于 2024-08-24 06:45:32 字数 146 浏览 5 评论 0原文

我正在使用 CruiseControl.Net 进行持续集成过程。我使用 ccnet 构建 ASP.NET 应用程序并将其发布到发布模式下的服务器中。但在发布期间,我无法在 Web.Config 中将 debug="true" 更改为 debug="false"。我能做些什么?

I am using CruiseControl.Net for my continuous integration process. Using ccnet I build and publish my asp.net application into a server in Release mode. But I am not able to change debug="true" to debug="false" in my Web.Config during publishing. What can I do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

执手闯天涯 2024-08-31 06:45:32

您可以考虑使用 Web 部署项目 (WDP),它可以作为 Visual Studio 构建配置的一部分运行。 WDP 将处理诸如切换调试设置之类的事情,并且它还会更改任何特定于环境的 web.config 设置。这是WDP 教程< /a>.

You might consider using a Web Deployment Project (WDP) which can be run as part of your visual studio build configuration. The WDP will handle things like toggling the debug setting and it change any environment-specific web.config settings as well. Here's a WDP tutorial.

挽容 2024-08-31 06:45:32

如果您从 ccnet 调用 msbuild 脚本,则可以使用 MSBuild 社区任务项目中的 XmlUpdate 任务。

<XmlUpdate
    XPath="/configuration/system.web/compilation/@debug"
    XmlFileName="$(WebConfigFileFullPath)"
    Value="false" />

如果您有兴趣,我在此处记录了我的构建过程。

If you are calling a msbuild script from ccnet you could use the XmlUpdate task from the MSBuild Community Tasks Project.

<XmlUpdate
    XPath="/configuration/system.web/compilation/@debug"
    XmlFileName="$(WebConfigFileFullPath)"
    Value="false" />

I documented my build process here if you are interested.

独闯女儿国 2024-08-31 06:45:32

扩展 Tom Brothers 上面的答案,我们使用 MSBuild 社区任务中的 任务来合并特定于部署的 web.config,其中包含要应用于基本 web 的多个更改。 config 来更改调试设置、连接字符串、日志记录配置等。因此,Web 项目包含 web.config 以及从开发计算机运行所需的配置。还有 web.Release.config 文件,其中仅包含我们需要应用于 web.config 以在生产 Web 服务器上生成配置的更改。

由于额外文件仅包含应用于 web.config 的更改(增量),因此它不是很大。 Visual Studio 在开发过程中会忽略它,而 CruiseControl.Net 在部署到 Web 服务器时会将更改应用到 web.config

Expanding on Tom Brothers' answer above, we use the <XmlMassUpdate> task in MSBuild Community Tasks to merge a deployment-specific web.config that contains multiple changes to apply to the base web.config to change the debug setting, connection strings, logging configuration, etc. So a web project contains web.config with the configuration necessary to run from the development machines. There's also web.Release.config file which contains only the changes that we need to apply to web.config to produce the configuration on the production web server.

Since the extra file only contains changes (deltas) to apply to web.config, it's not very big. Visual Studio ignores it during development, and CruiseControl.Net applies the changes to web.config when it gets deployed to the web server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文