【发布时间】: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 应该充当启动dll 的dotnet 工具的反向代理,但在我的情况下,它已经是独立工作的已编译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