【问题标题】:IIS does not start .net core 1.0 executableIIS 不启动 .net core 1.0 可执行文件
【发布时间】:2016-07-07 14:13:45
【问题描述】:

所以在 .net core 1.0 发布后,我开始了一个新的控制台项目,并从一个应该在没有 IIS 的情况下运行的小型原型中导入了代码。除了由于尚未更新的MongoDB.Driver 而必须在我的project.json 中使用net46 之外,效果很好。当我在 Visual Studio 中构建应用程序时,会构建一个带有大量 dll 的小型 App.exe,并且可以在没有 IIS 的情况下在本地正常运行。

然后我注意到为 IIS Express 构建的选项,并认为我也可以在我们的服务器(IIS 6.2、Windows Server 2012 R2)上使用 IIS。它可以使用 WebDeploy 正常发布,但之后没有任何反应。我在关注this official guide。我安装了 .NET core Windows Server Hosting 捆绑包,一切似乎都井井有条,但是当我浏览到 url 时,我得到一个 ERR_NAME_NOT_RESOLVED. Theapp.exedoes not appear in the Task Manager and I can't find any log file, although it is enabled in theweb.config. I can execute the app manually, but then it only listens on the defaultlocalhost:5000` 地址.

如果我理解正确,IIS 应该充当启动dlldotnet 工具的反向代理,但在我的情况下,它已经是独立工作的已编译exe。但我不知道如何从这个应用程序构建dll..

我做错了什么?

【问题讨论】:

  • 不能只发布二进制文件,IIS 上的 ASP.NET Core 模块也必须安装和配置。
  • 但是如何构建dll? ASP.NET Core 模块安装完毕,应用程序池设置为No Managed Code..
  • 如果您安装了模块,请发布您的 web.config 文件。
  • @LexLi web.config 看起来像 this..
  • 这个配置文件看起来非常好 - 你有 .exe 因为你的目标是完整的框架。

标签: iis asp.net-core-1.0


【解决方案1】:

如果您以完整的 .NET Framework 为目标,则应用程序将是 .exe 而不是 .dll,这很好。 ERR_NAME_NOT_RESOLVED 表示您在浏览器中提供的 url 无法解析,并且未向应用程序发出请求。 AspNet Core Module 在第一个请求时启动应用程序,由于无法解析主机,因此未发出请求并且未启动应用程序。一旦您弄清楚为什么无法解析名称并且您仍然无法使您的应用程序与 IIS 一起工作,请查看at my post,它解释了事情是如何工作的以及如何解决问题。但是,这仅在请求可以到达您的应用程序后才适用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-28
    • 2010-10-25
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多