【问题标题】:Where does Visual Studio copy the applicationhost.config file in the .vs folder from?Visual Studio 从哪里复制 .vs 文件夹中的 applicationhost.config 文件?
【发布时间】:2019-11-10 01:00:24
【问题描述】:

Visual Studio 在名为 .vs 的 Web 项目的解决方案根目录中创建一个隐藏文件夹。里面有一个带有 applicationhost.config 文件的 config 子文件夹。如果 .vs 文件夹丢失,Visual Studio 将在我打开解决方案或启动调试器时再次创建它。

我假设这个 applicationhost.config 文件是从某个默认位置复制的。我希望找到源文件并进行一些更改,以便我的首选设置默认生效。

我目前正在使用 Visual Studio 2019 16.3.7

Visual Studio 从哪里复制这个文件?

【问题讨论】:

    标签: visual-studio iis-express


    【解决方案1】:

    我在我的 PC 上的以下位置找到了 applicationhost.config

    1. C:\Program Files (x86)\IIS Express\config\templates\PersonalWebServer
    2. C:\Program Files\IIS Express\config\templates\PersonalWebServer
    3. C:\Users\%USERNAME%\Documents\IISExpress\config

    我系统地更改了每个文件,发现在我的情况下,Visual Studio 2019 正在从路径 1 复制文件。

    【讨论】:

    • 这将是一种不可靠的方法,因为 IIS Express 的任何未来更新都会覆盖您的更改。简而言之,不要有任何自己的“首选设置”。
    • @LexLi 这是一个很好的观点。我从默认更改的 2 个设置是将匿名和 Windows 身份验证从拒绝更改为允许,因为我们更喜欢在每个项目的 Web.config 中设置这些。我想听听您知道的任何替代方法,这可能会使这更容易管理。
    • @MatthewMacFarland 解决 LexLi 问题的 2 条可能建议: 1. 保留有关如何设置新项目的文档,其中包括修改设置的步骤,或 2. 在您的 web.config 中评论您的位置正在修改这些设置以指定 applicationhost.config 中所需的更改。
    【解决方案2】:

    applicationhost.config 复制自

    %windir%\system32\inetsrv\config

    您可以从命令窗口中的set 命令获取%windir%。 (通常是 C:\windows)

    来自Microsoft Forum 用户 lextm...又名 Lex Li

    鼓励您通过 appcmd 修改此文件。 http://learn.iis.net/page.aspx/114/getting-started-with-appcmdexe/跑 在提升的命令提示符下使用此命令就足够了。编辑文件 直接,你需要提升Notepad.exe然后打开它。这是 除非您非常熟悉语法,否则不推荐使用。这 历史文件夹包含配置文件的旧副本,以及 编辑它们不会更改当前的 IIS 设置。

    【讨论】:

    • 在我的 PC 上, inetsrv 文件夹存在但为空。我使用的是 IISExpress 而不是完整的 IIS,这样可以解释它。
    • @Lex Li...虽然这可能不是一个好主意...但它是原始副本所在的位置。
    • @Lex Li 我不确定我是否理解。如果配置文件在我的系统上的此位置不存在,那么 Visual Studio 如何使用该副本。我已经确认它不使用 IISExpress\config 文件夹中的副本。它复制的真实位置仍然未知。我必须每次都在 .vs 中编辑副本。我最终会找到的!
    【解决方案3】:

    帮助文档iisexpress /? /config 帮助说明:

    The full path to the applicationhost.config file. The default value is the IISExpress\config\applicationhost.config file that is located in the user's Documents folder.
    

    当然,您也可以使用参数更改路径。

    【讨论】:

    • 这不是 Visual Studio 从中复制配置文件的位置。我编辑了这个文件,删除了我的 .vs 文件夹,然后启动了调试器。 Visual Studio 创建了一个新的 .vs 文件夹和 applicationHost.config 文件,但我在 IISExpress 中添加的设置不存在于新的 .vs 文件夹中。 Visual Studio 显然是从其他位置复制此文件。很神秘。
    • 当你说“...add in the IISExpress”时,你是指项目属性窗口中的IIS设置吗?
    • 嗨 Kevin,不,我的意思是位于 Documents\IISExpress\config 中的 applicationhost.config 文件。答案之一说这是 Visual Studio 在 .vs 文件夹中创建文件时复制文件的位置。它不适合我。
    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2015-08-10
    相关资源
    最近更新 更多