【问题标题】:Where is App.config go after publishing?App.config 发布后去哪了?
【发布时间】:2010-04-22 13:45:48
【问题描述】:

当我使用 Visual Studio 发布网站时,App.config 去了哪里。我在发布输出目录中看不到它。

当我向我的类 libaray 添加 Web 引用时,我有由 Visual Studio 创建的 App.config。我想要一个可编辑的 App.config,这样当我想切换到另一个 Web 服务时,我不想每次都重新构建。

【问题讨论】:

    标签: asp.net visual-studio web-config settings


    【解决方案1】:

    当您构建项目时,App.Config 文件将复制到您的 Debug/Release 文件夹,名称为 .exe.config。如果我的项目名为 UseAppConfig,那么我的 Debug 文件夹中的 App.Config 就是 UseAppConfig.exe.config 打开工作目录中的 .config 文件(调试/发布)。更改值。在同一个文件夹中,您将看到您的可执行文件。双击它,您应该会看到新值。 你都准备好了。您可以将所有有意义的参数识别为运行时参数,为每个参数定义一个有意义的键并开始使用它。您不再需要在每次想要更改参数值时都构建应用程序。

    【讨论】:

      【解决方案2】:

      您的 web.config 文件需要位于应用程序的根目录中。如果您的应用程序涉及多个虚拟目录(即嵌套虚拟目录),那么 IIS 也会读取任何 web.config 文件,只要它们位于这些虚拟目录的根目录中。

      请记住,.NET 配置文件架构还允许您将其他配置文件放在其他位置,并在应用程序启动时将它们包含到主配置文件中,从而为您提供更多灵活性。

      【讨论】:

      • 是的,它在根目录中
      • 不是 web.config。我说的是当我向我的类库添加 Web 引用时 VS 生成的 App.config
      • 啊,我明白了。我听起来您需要将 VS 生成的 app.config 合并到您的 web.config 中。您的网站不会像现在一样读取 app.config - 您必须将 app.config 的内容合并到 web.config 中。
      • 是的,我一直在寻找。我刚刚自定义了 VS 生成的 Proxy 类以从 WEbconfig 应用程序设置中读取 Web 服务名称
      【解决方案3】:

      不会发布 app.config,而是从 web.config 文件中读取设置。因此,如果您将设置添加到 app.config 文件中,您也应该将它们添加到 web.config 文件中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-22
        • 1970-01-01
        • 2011-03-03
        • 2014-03-15
        • 2015-07-17
        相关资源
        最近更新 更多