ChatGPT解决这个技术问题 Extra ChatGPT

IIS Express 配置/元数据库文件在哪里找到?

哪里可以找到 IIS Express 配置/元数据库文件?


M
Myster

配置文件称为 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-fileapplicationhost.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 的行为。
C
Cos Callis

对于 VS 2015 和 VS 2017:右键单击 IIS Express 系统托盘图标(运行应用程序时),然后选择“显示所有应用程序”:

https://i.stack.imgur.com/vRzie.png

然后,选择相关应用,点击applicationhost.config文件路径:

https://i.stack.imgur.com/9NfDS.png


因为这是每次都能让你走上正确道路的答案,所以这应该是公认的答案。
@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 的完全集成”
T
Talon

自引入 Visual Studio 2015 以来,此位置已更改并添加到解决方案根目录下的以下位置:

C:\<Path\To\Solution>\.vs\config\applicationhost.config

我希望这可以节省您一些时间!


在意识到这一点之后,看起来 My Documents 文件夹中的配置实际上被用作一个模板,当您设置一个新项目并在 IIS Express 中运行它时使用该模板。据我所知,您仍然需要将原始文件保留在它所在的位置,但是如果您想修改所有新项目的日志位置,您可以更新此文件以将它们移动到其他地方
R
Rowland Shaw

回到原点并包括所有版本的 Visual Studio,@Myster 最初表示;

在 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 路径可在以下位置找到:(来源:@Talon)

$(solutionDir)\.vs\config\$(ProjectName)\applicationhost.config

但可能会让一些人感到困惑的是 .sln 文件中的项目设置可以重新填充 Visual Studio 2015+ 的 applicationhost.config。 (信用:@Lex 李)

因此,如果您在 applicationhost.config 中进行更改,您还必须确保您的更改在此处匹配:

$(solutionDir)\ProjectName.sln

两个重要设置应如下所示:

Project("{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}") = "ProjectName", "ProjectPath\", "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"

VWDPort = "Port#"

这里重要的是,如果您打算进行更改,.sln 中的两个设置必须分别与 applicationhost.config 文件中的名称和 bindingInformation 匹配。可能有更多的地方链接这两个文件,当我通过评论或更多经验找到更多链接时,我会更新。


P
Phil Morris

我认为这里的所有答案都是相关的,但是如果像我一样,您正在寻找 Visual Studio 在创建新版本的 applicationHost.config 时从哪里获取模板,那么您可以在这里查看:

C:\Program Files (x86)\IIS Express\config\templates\PersonalWebServer

如果您经常在同一个项目的多个分支上工作并在其中的许多分支中按“调试”,这种情况就会发生很多。在此处进行编辑将确保编辑传播到创建的任何新项目/解决方案文件夹。

答案间接来自 this answer


这很棒,因为在创建新分支时我们经常不得不修改这个配置文件。现在我们可以让开发人员修改这个基础文件,所有未来的分支都会很好!谢谢你!
R
RichieMN

对于 Visual Studio 2019 (v16.2.4),我只能在这里找到这个文件:

https://i.stack.imgur.com/b4d4H.png

希望这会有所帮助,因为我无法找到上述建议中提到的 .vs 文件夹位置。


这相当于 %userprofile%\documents\iisexpress\config\applicationhost.config 的第一个建议。虽然,如果您通过 Visual Studio 运行,我希望它使用 .vs 目录中的那个。