Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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
C# 在IIS 7中托管Asp.Net核心_C#_Asp.net_Asp.net Core_Iis 7 - Fatal编程技术网

C# 在IIS 7中托管Asp.Net核心

C# 在IIS 7中托管Asp.Net核心,c#,asp.net,asp.net-core,iis-7,C#,Asp.net,Asp.net Core,Iis 7,我有一个旧的服务器,我已经为Internet信息系统(IIS)安装了所有最新的核心Web托管模块。服务器应该是最新的 出于某种奇怪的原因,我收到以下错误: HTTP错误500.19-配置部分的内部服务器错误 无法读取“aspNetCore”,因为它缺少节 声明 web.config如下所示: <?xml version="1.0" encoding="utf-8"> <configuration> <system.webServer>

我有一个旧的服务器,我已经为Internet信息系统(IIS)安装了所有最新的核心Web托管模块。服务器应该是最新的

出于某种奇怪的原因,我收到以下错误:

HTTP错误500.19-配置部分的内部服务器错误 无法读取“aspNetCore”,因为它缺少节 声明

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=".\LicenseManager.dll"
               stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
     </system.webServer>
</configuration>

还表示,它确实符合Windows Server 2008 R2的要求,并受其支持,其中包括IIS 7.0


我已经运行了他们的命令,有没有想过为什么这不会发布?

如果有帮助,在2008R2、IIS7.5上,但使用基于.NET 452构建的ASP.NET核心,我有以下几点:

<aspNetCore 
    requestTimeout="00:20:00" 
    processPath=".\MyProject.exe" arguments="" 
    stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" 
    forwardWindowsAuthToken="true">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="development" /> <!-- value could be "development", "staging" or "production"-->
  </environmentVariables>
</aspNetCore>

您可以使用配置编辑器浏览web.config内容吗


更新:您已经更改了问题,添加了“,所以我在回答中删除了这一点。

对于原始内核,没有作为非托管代码编译的.net。我目前没有运行该代码,所以我不能肯定地告诉您,但我希望它类似于此:您需要在IIS下安装并运行AspNetCoreModule,您仍然需要能够通过IIS“配置编辑器”解析web.config,主要区别在于,对于完整的.NET processPath/参数,将直接使用“myexe”/”,而在针对.NET CORE编译时,将使用“dotnet”/“mydll.dll”。在您的情况下,我猜“dotnetmydll.dll”在命令行下启动时工作正常?如果是这样的话,那只是IIS的配置问题。我有这个模块,奇怪的是,它几乎像是IIS在配置上被阻塞了。也许和forwardWindowsAuthToken=“”是必需的。您是否尝试过尽可能多地更改您的web.config,使其看起来像我的web.config,它实际上正在工作?实际上,web.config在另一台运行Windows server 2012的服务器上正常工作。因此,我将尝试重新安装核心模块,因为它无法读取web.config。我不知道Asp.Net核心,但如果向web.config添加非标准节,通常必须注册配置节处理程序。请参阅此答案和相关问题以了解情况。@DouglasThomas它是Windows Server 2008 R2,文档中说它可以使用它。不过,这是一个很好的链接,我最终在Windows Server 2012上安装了它,并向Microsoft提出了一个问题,说明它为什么不能正常工作。@Greg你确定它可以在Windows 2008 R2上工作吗?我已经测试过在我的Windows Server 2008上安装它,但它不起作用。错误显示不兼容的版本。我现在使用的是Windows Server 2012,它可以正常工作。@DouglasThomas单击文档,选择列出的支持的操作系统。