【问题标题】:Unable to load application or execute command 'Microsoft.AspNet.Server.Kestrel'无法加载应用程序或执行命令“Microsoft.AspNet.Server.Kestrel”
【发布时间】:2016-02-18 18:58:30
【问题描述】:

我正在尝试将我的 ASP.NET 5 WebApi 部署到远程服务器(Windows server 2008 R2),但无法让它与 IIS 一起正常运行。

项目.json

{
  "webroot": "wwwroot",
  "version": "1.0.0-*",

  "dependencies": {
    "App.Data": "1.0.0-*",
    "App.Model": "1.0.0-*",
    "App.Repository": "1.0.0-*",
    "App.ViewModel": "1.0.0-*",
    "AutoMapper": "4.1.1",
    "Microsoft.AspNet.Authentication": "1.0.0-rc2-16009",
    "Microsoft.AspNet.Authentication.JwtBearer": "1.0.0-rc2-16009",
    "Microsoft.AspNet.Diagnostics": "1.0.0-rc2-16136",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc2-15873",
    "Microsoft.AspNet.Mvc": "6.0.0-rc2-16377",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc2-16017",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-rc2-15932",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc2-15916",
    "Microsoft.Framework.Configuration.Json": "1.0.0-rc1-15666",
    "Microsoft.Framework.Logging": "1.0.0-rc1-15644",
    "Microsoft.Framework.Logging.Console": "1.0.0-rc1-15644",
    "Microsoft.IdentityModel.Protocols.OpenIdConnect": "2.0.0-rc1-211120828"
  },

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

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

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

当我尝试从浏览器访问应用程序时,我没有得到任何响应。当我在服务器上执行web.cmd 时,出现以下错误:

Error: Unable to load application or execute command 'Microsoft.AspNet.Server.Ke
strel'. Available commands: kestrel, web.
System.IO.FileNotFoundException: Le fichier spécifié est introuvable. (Exception
 de HRESULT : 0x80070002)
   à System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)

   à System.Reflection.Assembly.LoadFile(String path)
   à Microsoft.Dnx.Runtime.Loader.LoadContext.LoadFile(String assemblyPath)
   à Microsoft.Dnx.Runtime.Loader.PackageAssemblyLoader.Load(AssemblyName assemb
lyName, IAssemblyLoadContext loadContext)
   à Microsoft.Dnx.Runtime.Loader.PackageAssemblyLoader.Load(AssemblyName assemb
lyName)
   à Microsoft.Dnx.Host.LoaderContainer.Load(AssemblyName assemblyName)
   à Microsoft.Dnx.Host.DefaultLoadContext.LoadAssembly(AssemblyName assemblyNam
e)
   à Microsoft.Dnx.Runtime.Loader.AssemblyLoaderCache.GetOrAdd(AssemblyName name
, Func`2 factory)
   à Microsoft.Dnx.Runtime.Loader.LoadContext.LoadAssemblyImpl(AssemblyName asse
mblyName)
   à Microsoft.Dnx.Runtime.Loader.LoadContext.ResolveAssembly(Object sender, Res
olveEventArgs args)
   à System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String as
semblyFullName)

感谢您的帮助

【问题讨论】:

  • 1.不要混合使用 rc1 和 rc2 包。那是灾难的根源:) 2. 你使用什么 DNX 版本?
  • 感谢您的回复。我正在使用 1.0.0-rc2-16177 clr x86 版本。该应用程序在 IIS Express 上运行良好!
  • 我刚才自己看到了类似这样的东西……你跑dnvm upgrade了吗?这为我解决了问题。

标签: iis asp.net-web-api asp.net-core kestrel-http-server


【解决方案1】:

确保您已在目标服务器上安装了所有依赖项。在cmd中运行dnu list查看所有项目依赖。

如果其中一些未安装(它们将显示为红色)运行dnu restore 以恢复所有包。

您还可以通过运行dnu build 来确保您的项目成功构建

希望对你有帮助..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多