IIS Express 配置/元数据库文件在哪里找到?
Posted
技术标签:
【中文标题】IIS Express 配置/元数据库文件在哪里找到?【英文标题】:Where is the IIS Express configuration / metabase file found? 【发布时间】:2012-10-08 10:17:15 【问题描述】:在哪里可以找到 IIS Express 配置/元数据库文件?
【问题讨论】:
【参考方案1】:配置文件名为applicationhost.config。 它存储在这里:
我的文档 > IIS Express > 配置
通常,但并非总是,这些路径之一会起作用
%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config
VS2019 更新 如果您使用的是 Visual Studio 2019+,请检查以下路径:
$(solutionDir)\.vs\projectName\config\applicationhost.config
VS2015 更新(来源:@Talon) 如果您使用的是 Visual Studio 2015-2017,请检查以下路径:
$(solutionDir)\.vs\config\applicationhost.config
在 Visual Studio 2015+ 中,您还可以通过更改项目文件(例如:MyProject.csproj)中的 <UseGlobalApplicationHostFile>true|false</UseGlobalApplicationHostFile>
设置来配置使用哪个 applicationhost.config 文件。 (来源:MSDN forum)
【讨论】:
VS2015 项目也可以使用全局配置文件。有一个项目设置控制它,您可以添加它。 你拯救了我的一天。我向 sln 介绍了一些 ASP.NET 5 (vNext),然后 ASP.NET 4.5 Web 项目将无法运行但抱怨进程无法运行。删除 .vs 文件夹和 $(solutionDir)\.vs\config\applicationhost.config 后,一切又恢复了。 :) 供参考,启动 IIS Express 的命令as per documentation):> iisexpress /config:config-file /site:site-name
,其中config-file
是applicationhost.config
的完整路径。另请参阅@CosCallis 的回答,了解获取此路径的最简单方法。 site-name
应与 applicationhost.config
的 <sites>
部分中的名称之一匹配。
如果您想在开发过程中禁用日志,请找到节点并将启用设置/添加为 false <siteDefaults> <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" enabled="false"/> <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="false" maxLogFileSizeKB="1024" /> </siteDefaults>
感谢您指出 VS2019 的更新。正在迁移,想知道为什么我的配置文件没有改变 IIS Express 的行为。【参考方案2】:
自引入 Visual Studio 2015 以来,此位置已更改并添加到您的解决方案根目录下的以下位置:
C:\<Path\To\Solution>\.vs\config\applicationhost.config
我希望这可以为您节省一些时间!
【讨论】:
在意识到这一点之后,看起来我的文档文件夹中的配置实际上被用作一个模板,当您设置一个新项目并在 IIS Express 中运行它时使用它。据我所知,您仍然需要将原始文件保留在它所在的位置,但是如果您想修改所有新项目的日志位置,您可以更新此文件以将它们移动到其他位置【参考方案3】:@Myster 最初声明:
Pre Visual Studio 2015 applicationhost.config 的路径是:
%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config
Visual Studio 2015/2017 路径可在以下位置找到:(来源:@Talon)
$(solutionDir)\.vs\config\applicationhost.config
Visual Studio 2019 路径位于:(credit: @Talon)
$(solutionDir)\.vs\config\$(ProjectName)\applicationhost.config
但可能引起某些人注意的是 .sln 文件中的项目设置可以重新填充 Visual Studio 2015+ 的 applicationhost.config。 (来源:@Lex Li)
因此,如果您在 applicationhost.config 中进行更改,您还必须确保您的更改与此处匹配:
$(solutionDir)\ProjectName.sln
两个重要的设置应该如下所示:
Project("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX") = "ProjectName", "ProjectPath\", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
和
VWDPort = "Port#"
这里重要的是,如果您打算进行更改,.sln 中的两个设置必须分别与 applicationhost.config 文件中的名称和 bindingInformation 匹配。可能会有更多的地方链接这两个文件,当我发现更多来自 cmets 或更多经验的链接时,我会进行更新。
【讨论】:
【参考方案4】:对于 VS 2015 和 VS 2017: 右键单击 IIS Express 系统托盘图标(运行应用程序时),然后选择“显示所有应用程序”:
然后,选择相关应用,点击applicationhost.config文件路径:
【讨论】:
因为这是每次都能让你走上正确道路的答案,所以这应该是公认的答案。 @cos-callis 关于您的编辑,IIS Express 系统托盘行为是否真的依赖于 Visual Studio? @BjörnAliGöransson 没有启动并运行 VS 2013 系统我不能轻易返回检查,但我“知道”这适用于 VS 2015/17 并且我“知道”在预2015 配置数据的位置不同。就像我经常对搜索中弹出的问题和答案感到沮丧一样' ... 没有承诺在 VS 2019+++ 中它是否是真的 :) 我明白你的意思 ? 但我认为 IIS express 是与 VS 2012 一起发布/同时发布的,在此之前只有 Cassini - IIRC ??? 查看这段历史,从 2011 年开始:abhijitjana.net/2011/08/05/… "Visual Studio 2010 SP1 提供与 IIS Express 的完全集成"【参考方案5】:对于 Visual Studio 2019 (v16.2.4),我只能在此处找到此文件:
C:\Users\\Documents\IISExpress\config\applicationhost.config
希望这会有所帮助,因为我无法找到上述建议中提到的 .vs 文件夹位置。
【讨论】:
这相当于%userprofile%\documents\iisexpress\config\applicationhost.config
的第一个建议。虽然,如果您通过 Visual Studio 运行,我希望它使用 .vs 目录中的那个。【参考方案6】:
我认为这里的所有答案都是相关的,但是如果像我一样,您正在寻找 Visual Studio 在创建 new 时从哪里获取 模板 版本的 applicationHost.config 那么你可以看这里:
C:\Program Files (x86)\IIS Express\config\templates\PersonalWebServer
如果您经常在同一个项目的多个分支上工作并在其中的许多分支中按“调试”,这种情况经常发生。在此处进行编辑将确保编辑传播到创建的任何新项目/解决方案文件夹。
答案间接来自this answer
【讨论】:
以上是关于IIS Express 配置/元数据库文件在哪里找到?的主要内容,如果未能解决你的问题,请参考以下文章
VS 2019 中 IIS Express 调试器的 .Net Core MVC appsettings.json 文件在哪里
IIS Express 10 上的 ASP.NET Core 应用程序给出 HTTP 500 错误