Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.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# .NET核心发布到IIS问题-403.14_C#_Asp.net_Iis_Asp.net Core - Fatal编程技术网

C# .NET核心发布到IIS问题-403.14

C# .NET核心发布到IIS问题-403.14,c#,asp.net,iis,asp.net-core,C#,Asp.net,Iis,Asp.net Core,我正在尝试将核心1.0应用程序发布到在IIS Express中本地运行良好的2012R2框中 已在服务器上安装DotNetCore.1.0.0-WindowsHosting.exe 已安装的httpPlatformHandler_amd64.msi 将应用程序池设置为“无托管代码” 使用“Web部署”从VS发布 截至本文撰写之时的最新VS核心工具 我得到的只是: HTTP错误403.14-禁止 Web服务器配置为不列出此文件的内容 目录 其中只提到403.14禁止的错误是通过为站点选择错误的

我正在尝试将核心1.0应用程序发布到在IIS Express中本地运行良好的2012R2框中

  • 已在服务器上安装DotNetCore.1.0.0-WindowsHosting.exe
  • 已安装的httpPlatformHandler_amd64.msi
  • 将应用程序池设置为“无托管代码”
  • 使用“Web部署”从VS发布
  • 截至本文撰写之时的最新VS核心工具
我得到的只是:

HTTP错误403.14-禁止

Web服务器配置为不列出此文件的内容 目录

其中只提到403.14禁止的错误是通过为站点选择错误的目录创建的。。。事实并非如此


但是,VS不会对web.config进行pusblish。“始终复制到服务器”或“内容”(在DDL中)没有选择,这两个选项都缺失。

确保应用程序池上设置的服务帐户/用户凭据有权运行/访问应用程序。这是我在几次部署到IIS时遇到的问题

至于包含web.config,请确保在project.json文件中包含以下代码。只需指定要在发布中包含的内容

"publishOptions": {
  "include": [
    "wwwroot",
    "Views",
    "appsettings.json",
    "web.config"
  ]
}

检查应用程序文件夹中是否有web.config。如果文件夹IIS不知道它是ASP.NET核心应用程序中没有web.config,它会认为您正在尝试在该文件夹中列出该文件。 因此,如果您将项目配置中的IsTransformMWebConfigDisabled属性设置为true,这将导致生成Web.config文件时在发布文件夹中未生成该文件。 因此,将YourProjectName.csproj文件中的IsTransformMWebConfigDisabled属性更改为false,如下所示:-

<IsTransformWebConfigDisabled>false</IsTransformWebConfigDisabled>
false

好的,如何确定应用程序池上设置的服务帐户/用户凭据是否有权运行/访问应用程序?它正在使用ApplicationPoolIdentity。仅供参考,此服务器上还有30多个其他站点运行良好。这些是内置帐户。您没有自定义帐户的选项吗?在这里,您可以指定自己的帐户。我将在上面的回答中发布一张照片。我自己刚刚再次遇到403错误,结果发现我发布到了错误的文件夹。因此,空文件夹将产生403错误。仅供参考,我是个白痴。。。我将IIS根文件夹移动到wwwroot上方的父目录,现在我得到“oops 500内部服务器错误”,这意味着它已启动,但有一个错误。。。谢谢这是个好消息,有时候我们只需要说出来。干得好,希望你继续好运。我正在使用内置Windows身份验证的Visual Studio.Net Core 2.0模板,如果我在本地部署该模板,然后使用无托管代码和集成管道为其创建站点,我将获得403.14。应用程序池是“内置帐户LocalSystem”。我希望有关于如何部署VS提供的这个特定模板的文档。获取403.14错误。请确保发布到正确的文件夹和/或将IIS重新定位到正确的文件夹。我遇到了这个问题。我检查了这个问题,但我首先发布到inetpub文件夹,然后我在应用程序的目录下建立了一个网站,在那里我可以看到所有文件。我收到Windows凭据的登录错误,因此这可能与Active Directory有关。以前从未这样做过,所以我边走边学。感谢您的输入。web.config文件是在您运行
dotnet publish--configuration Release
时生成的,如果您缺少该文件,则很可能没有运行dotnet publish命令。