【问题标题】:Why doesn't switching to release in VS set the debug parameter to false in web.config为什么在 VS 中切换到 release 不将 web.config 中的 debug 参数设置为 false
【发布时间】:2009-04-23 09:55:28
【问题描述】:

在 VS2008 中(如果我没记错的话,更早的版本)我有下拉菜单让我在调试和发布模式之间进行选择。一切顺利。
当我将 VS 切换到 Release 时,我的 web.config 文件中的调试属性根本没有设置为 false。
这是应该的方式吗?我一定会忘记在部署时将其设置为正确的值。我应该采取什么措施来确保它正常工作?

【问题讨论】:

    标签: c# .net asp.net-mvc visual-studio


    【解决方案1】:

    【讨论】:

    • 还不能测试,但我认为这确实可以解决问题:)
    • 但这只能解决 debug=true 场景,这只是部署开发配置文件的问题之一。
    【解决方案2】:

    您的 web.config 可能会因调试和发布(连接字符串、密码等)而不同,但如果不是,请查看将复制到不同文件的 postbuild 事件。

    同时查看 Scott Guthrie 的 this blog post

    【讨论】:

      【解决方案3】:

      更改发布模式不会更改 web.config,但是当您构建 Web 应用程序时,它将仅在发布模式下为 C# 文件构建 dll,而 IIS 使用 web.config 的调试开/关来构建调试/release 版本的 ASPX 标记文件。

      【讨论】:

        【解决方案4】:

        构建风格只会影响代码的编译方式,不会影响您的配置文件。所以是的,回答你的问题,应该是这样的。

        【讨论】:

          【解决方案5】:

          如果您可以访问服务器的 machine.config,该元素是一个很好的解决方案,该服务器仅托管生产应用程序。

          我通常在生成部署文件时修改 web.config 文件作为自动构建过程的一部分。例如,Web 部署项目可以执行 web.config 部分替换。我不喜欢 Web 部署项目的原因有很多,我倾向于使用一个简单的 VBS 文件,该文件使用 MSXML 修改文件。

          【讨论】:

            【解决方案6】:

            您从 Bobby 那里选择的答案不正确。当您在 VStudio 中时,Visual Studio 会在发布时为您构建文件。

            IIS 在您部署时使用该设置在启动时编译代码。不是 bin 目录,而是 App_Code 和文件背后的代码。

            您应该在部署之前预编译您的应用程序,这会将您的代码后面和 App_Code 目录编译到 bin 目录中的 dll 中。

            如果您将部署工具设置为发布,部署工具会自动切换该设置

            我使用网络部署项目。 http://weblogs.asp.net/scottgu/archive/2008/01/28/vs-2008-web-deployment-project-support-released.aspx

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-04-11
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-06-06
              相关资源
              最近更新 更多