ASP.Net 5应用程序使用静态文件时出错。

6
错误 CS1061 'IApplicationBuilder' 不包含定义 'UseStaticFiles' 的内容,并且找不到接受类型为 'IApplicationBuilder' 的第一个参数的 'UseStaticFiles' 扩展方法(是否缺少使用指令或程序集引用?) MyWorld.DNX Core 5.0 C:\Projects\MyWorld\src\MyWorld\Startup.cs 21 ASP.NET5 静态文件问题 Project.json
{
  "webroot": "wwwroot",
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },

  "frameworks": {
    "dnx451": {
      "dependencies": {
        "Microsoft.AspNet.StaticFiles": "1.0.0-beta8"
      }
    },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ]
}

1
你能分享一下你的 project.json 文件吗? - Shawn Wildermuth
{ "webroot": "wwwroot", "version": "1.0.0-*", "dependencies": { "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8", "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8" }, "commands": { "web": "Microsoft.AspNet.Server.Kestrel" }, "frameworks": { "dnx451": { "dependencies": { "Microsoft.AspNet.StaticFiles": "1.0.0-beta8" } }, "dnxcore50": { } }, "exclude": [ "wwwroot", "node_modules" ], "publishExclude": [ ".user", ".vspscc" ] } - user5555457
@ShawnWildermuth 我已经在我的原始问题中更新了我的 project.json。 - user5555457
1个回答

9
从您的错误信息可以看出,UseStaticFiles 可用于 DNX 4.5.1 框架,但不适用于 DNX Core 5.0
您应该将依赖项添加到 Microsoft.AspNet.StaticFiles,不仅在 dnx451 上,还要在 dnxcore50 上,在您的 project.json 文件中。您可以将依赖项从 "frameworks" 键中移除,并将其放置到 "dependencies" 键中,以使其对两个框架都可用。
{
  ...

  "dependencies": {
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta8",
  },

  ...

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  }

  ...
}

对于 Asp.Net Core MVC,您需要安装 Nuget 包 Microsoft.AspNetCore.StaticFiles。 - Dhanuka777

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