Visual Studio从哪里复制.vs文件夹中的applicationhost.config文件?

5
Visual Studio在Web项目的解决方案根目录下创建了一个名为.vs的隐藏文件夹。其中包含一个config子文件夹,其中有一个applicationhost.config文件。如果缺少.vs文件夹,Visual Studio将在打开解决方案或启动调试器时重新创建它。
我认为这个applicationhost.config文件是从某个默认位置复制过来的。我希望找到源文件并进行一些更改,以便我的首选设置将默认生效。
我当前使用的是Visual Studio 2019 16.3.7版本。
Visual Studio从哪里复制此文件?
3个回答

5

我在电脑上找到了 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 会从第一个路径复制该文件。


2
这将是一种不可靠的方法,因为IIS Express的任何未来更新都会覆盖您的更改。简而言之,不要有任何自己的“首选设置”。 - Lex Li
1
@LexLi,你说得很好。我从默认设置中更改的两个设置是将匿名和Windows身份验证从拒绝更改为允许,因为我们更喜欢在每个项目的Web.config中设置这些内容。如果你知道任何其他方法可以更轻松地管理这些设置,我很乐意听取建议。 - Matthew MacFarland
@MatthewMacFarland 针对LexLi的担忧,有两个可能的解决建议:1. 编写一个关于如何设置新项目的文档,其中包括修改设置的步骤,或者2. 在修改这些设置的web.config中进行注释,以指定applicationhost.config中所需的更改。 - qxotk

0

applicationhost.config文件从以下路径复制:

%windir%\system32\inetsrv\config

您可以在命令窗口中使用set命令获取%windir%。(通常为C:\windows)

来自Microsoft论坛用户lextm...aka Lex Li的建议:

建议通过appcmd修改此文件。在提升的命令提示符下运行http://learn.iis.net/page.aspx/114/getting-started-with-appcmdexe/命令即可。如果要直接编辑文件,则需要提升Notepad.exe,然后打开它。除非您非常熟悉语法,否则不建议这样做。历史文件夹包含配置文件的旧副本,编辑它们不会更改当前IIS设置。


在我的电脑上,inetsrv文件夹存在但是为空。我正在使用IISExpress而不是完整的IIS,这可能是原因。 - Matthew MacFarland
@Lex Li...虽然这可能不是一个好主意...但原始副本就在那里。 - Chris Catignani
@Lex Li,我不确定我理解了。如果在我的系统上没有这个位置的配置文件,那么Visual Studio怎么可能使用那个副本呢?我已经确认它不使用IISExpress\config文件夹中的副本。它复制的真实位置仍然未知。我必须每次都编辑.vs中的副本。我最终会找到它的! - Matthew MacFarland

-1

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

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 正在从其他位置复制此文件。非常神秘。 - Matthew MacFarland
当你说“...添加到IISExpress”时,你是指项目属性窗口中的IIS设置吗? - kevin
嗨,Kevin,不,我指的是位于Documents\IISExpress\config中的applicationhost.config文件。其中一个答案说,这是Visual Studio从中复制文件并创建.vs文件夹中的文件的位置。但对我来说并不是这样。 - Matthew MacFarland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接