我在主题中创建了一个应用程序,只需选择" ASP.NET核心Web应用程序"," .NET核心"," ASP.NET核心2.0&#34 ;," Web API"。
这会创建一个简单的应用程序,其中'默认' call," api / values",返回JSON数组' [" value1"," value2"](在浏览器上只有一个小警告) 。
到目前为止一切顺利。
现在我想在IIS上部署这个应用程序,只使用FolderProfile,所以我构建应用程序,我发布它,并且我有这个目录,包含运行它所需的所有文件。我看到添加了web.config(它不在源代码中),具有正确的配置以使用生成的dll启动运行时。
我将这个目录复制到一个物理目录上,我在一个应用程序池中创建了一个网站,简而言之,就是所有内容,我将其配置为常识建议,因为我找不到任何ASP.NET教程核心2.核心1的文档不能正确应用,因为有很多变化......
最后我总是得到这个结果:
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
生成的web.config如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Core2WebService.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
<!--ProjectGuid: 5c8e6f19-9a61-47c5-8ee1-8c4b54962ba2-->
我尽我所能,但始终以最终结果......任何想法? 感谢。
答案 0 :(得分:4)
查看Host on Windows with IIS文档。现在,您似乎至少忘记安装the .NET Core Windows Server Hosting bundle。
该软件包还将安装ASP.NET核心模块,在IIS和Kestrel服务器之间创建反向代理。
答案 1 :(得分:0)
您可以直接从.Net Core应用程序发布。
我已经为此编写了一步一步的指南,唯一的区别是,我已经解释过托管应用程序而不是Web API。
看看这里:https://neelbhatt.com/2018/01/30/deploy-net-core-application-to-iis-step-by-step-guide/