Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web API中的web.config出现问题_Asp.net_Asp.net Core_Asp.net Core Webapi - Fatal编程技术网

Asp.net web API中的web.config出现问题

Asp.net web API中的web.config出现问题,asp.net,asp.net-core,asp.net-core-webapi,Asp.net,Asp.net Core,Asp.net Core Webapi,我正在开发我的第一个真实世界的.Net Core 3.1 Web API,我在Web.config文件中遇到了一个错误,但不知道出了什么问题 我在本地创建了WebAPI,测试结果很好。我将项目发布到本地文件夹,然后将其复制到我们的STAGE服务器上的IIS。当我打开IIS并单击项目的任何图标(在本例中,我单击了日志图标)时,我得到一个错误“执行此操作时出错”,文件名指向我文件夹结构中的web.config 发布项目时,会自动创建web.config文件。有人看到导致问题的web.config有

我正在开发我的第一个真实世界的.Net Core 3.1 Web API,我在Web.config文件中遇到了一个错误,但不知道出了什么问题

我在本地创建了WebAPI,测试结果很好。我将项目发布到本地文件夹,然后将其复制到我们的STAGE服务器上的IIS。当我打开IIS并单击项目的任何图标(在本例中,我单击了日志图标)时,我得到一个错误“执行此操作时出错”,文件名指向我文件夹结构中的web.config

发布项目时,会自动创建web.config文件。有人看到导致问题的web.config有什么问题吗

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\AvTechAPI.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: 24142d05-13a1-4655-b2b8-8f8456003615-->

Windows IIS

解决方案:安装

原因:尽管SDK通常包含运行时,但SDK安装程序似乎没有在服务器上正确注册运行时

解决方法(不推荐):

将web.config内的
AspNetCoreModuleV2
更改为
AspNetCoreModule

Azure平台托管


通过选择Extensions,然后安装.NET Core runtime来安装.NET Core runtime扩展。

当我从您提供的链接下载时,它会下载Core 2.2.1的托管捆绑包,但我尝试使用3.1,因此我进行了一些搜索,找到了该捆绑包的托管捆绑包。但是,它与我已经在服务器上运行的.exe相同。然后我发现一篇文章说要么重新启动,要么运行“netstopwas/y”和“netstart w3svc”。我运行了这些命令,它们成功了。通过单击日志图标再次检查IIS,我仍然会收到与对API运行get命令时相同的错误。我运行了命令“dotnet--list runtimes”,它返回Microsoft.AspNetCore.App 3.1.5,因此看起来好像安装了Core。@Caverman,尽管我链接的主机包是2.2,但它应该可以解决您的问题。它可以与3.1主机包并行安装,但更重要的是,它修复了AspNetCoreModuleV2。安装它并告诉我结果。因此,仔细查看原始文件,安装的是SDK“dotnet-SDK-3.1.105-win-x64.exe”,而不是我下载的托管包“dotnet-hosting-3.1.5-win.exe”。我运行了托管包,我得到了与SDK安装不同的问题,其中一个问题是我必须关闭共享配置。果不其然,它已打开,看起来像是在共享来自另一台服务器的文件。正在等待与网络人员交谈,看我是否可以关闭该功能。看起来托管捆绑包工作正常。我使用的是3.1.5版本,而不是2.2版本。谢谢你的帮助!