You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

ASP.NET Core 2 MVC新项目在解决方案资源管理器中未找到web.config文件求助

ASP.NET Core 2 MVC中找不到web.config的解决办法

嘿,别担心,这其实是ASP.NET Core和传统ASP.NET的核心差异之一,刚接触的话很容易困惑!

为什么默认新项目里没有web.config?

ASP.NET Core不再依赖传统的web.config作为主要配置文件了:

  • 开发阶段,应用的配置主要通过appsettings.json(以及环境变体如appsettings.Development.json)和代码配置(比如Startup.csProgram.cs)来完成,涵盖连接字符串、日志级别、服务注册等几乎所有需求。
  • 只有当你发布应用到IIS服务器时,系统才会自动生成一个web.config文件,用来配置IIS的ASP.NET Core模块,让IIS能正确托管你的Core应用。

如果开发环境确实需要web.config怎么办?

虽然开发时很少用到,但如果有特殊需求(比如自定义IIS Express的行为),你可以手动添加:

  • 右键你的项目 → 「添加」→ 「新建项」
  • 在搜索框输入「Web配置文件」,选中后添加
  • 可以参考以下基础模板内容(记得替换YourProjectName为你的项目名称):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\YourProjectName.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
  </system.webServer>
</configuration>

开发时的替代配置方式

记住,开发阶段优先用appsettings.json来管理配置,比如数据库连接字符串的配置示例:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyMvcDb;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*"
}

总的来说,找不到web.config是正常现象,不用慌——开发用appsettings.json,发布到IIS时会自动生成所需的web配置文件。

内容的提问来源于stack exchange,提问作者s.k.paul

火山引擎 最新活动