如何使用Visual Studio 2017将ASP.NET Web API 2项目发布到IIS 8.5?

雅各布·D

我有一个ASP.NET Web API 2项目,该项目可以在本地计算机上编译并按预期工作,但是当我发布到IIS 8.5服务器时,所有请求都返回了状态码500服务器错误。没有给出其他信息。这是我第一次尝试发布Web API。

我在IIS中创建了一个站点,将其配置为与我创建的其他站点相同,并将其设置为仅HTTPS。我相信网站配置正确,因为我有一个基本的default.html页面,可以轻松连接到该页面,但似乎无法进行任何API调用。我正在使用Postman测试我的API调用。

在Visual Studio中,我使用了Web DeployWeb Deploy PackageFile System Publish选项。对于后两者使用“发布时预编译”选项似乎没有什么不同。

Web Deploy拒绝验证连接,因为它无法连接到远程计算机并确保已安装Web Deploy。我可以通过“程序和功能”来验证它,并且我已经尝试过几乎可以想到的URI的每种组合,以使其无济于事。该错误将我定向到此Microsoft故障排除页面,但是建议的命令似乎不起作用。

Web Deploy软件包使我可以在本地文件系统上创建一个.zip,然后将其传输到托管服务器并使用Web Deploy从IIS导入。下面的屏幕快照是导入后在IIS网站的根目录中看到的。我手动添加HTML文件进行测试,因为它不是我的应用程序的一部分。bin文件夹似乎包含所有必需的DLL文件。

Web API IIS网站文件结构

File System Publish输出的结构与Web Deploy Package相同,但行为没有差异。

有什么我想念的吗?我只是不知道还有什么要解决的。

雅各布·D

要重复@ n.piskunov的评论,我的应用没有任何错误详细信息政策。Jimmy Bogard的这篇文章解释了Web API不尊重web.config文件customErrors设置的原因,这正是我所使用的。它还说明了如何解决上述问题。

启用了详细的错误消息后,我能够确定目标框架未安装在服务器上。安装正确的目标框架解决了我的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用Azure的情况下将Visual Studio 2015中的ASP.NET 5项目发布到Docker映像或Linux

如何在IIS 10上托管ASP.NET Web API 2项目

如何使用Visual Studio 2017性能分析ASP.NET IIS Web应用程序?

Visual Studio for Mac 2017 RC上的ASP.NET Web API 2

将-ASP.NET MVC 5 Web应用程序(Visual Studio 2017)转换为.exe设置文件

如何使用Visual Studio将ASP.NET Web应用程序(.Net Framework)发布到FTP服务器?

如何在Visual Studio中使用ASP.NET Core Web应用程序-API项目托管网页?

使用Visual Studio Code + ASP.NET 5 + Mono + Kestrel + OS X调试Web项目

Asp.Net Core 2 Web API在Visual Studio 2017,Windows 10上显示HTTP 404错误

如何将Bootstrap 4集成到Visual Studio 2017 ASP.NET Core Web应用程序中?

单击发布为Visual Studio 2017中的ASP.NET Core 2.0项目没有任何作用

Visual Studio 2017无法调试.Net核心Web API?

在Visual Studio 2015社区RTM中为ASP.NET 5项目启用SSL

如何将文件发布到ASP.NET Web Api 2

Visual Studio 2017中的空白ASP .NET Core Web应用程序项目

Swagger / Swashbuckle在Visual Studio 2013 Web API 2项目上不起作用

在Visual Studio 2017 RC中无法识别ASP.NET MVC 4项目

无法在Visual Studio 2013中创建新的MVC5项目或任何其他ASP .NET项目

Asp.net Core2 Web Api发布到IIS 8.5时始终提供404

将ASP.NET 5项目发布到Docker时,找不到名称为“ Custom”的AspnetPublishHandler

如何从ASP.net 5 Web API返回文件

在 Visual Studio 2017 中使用 Web 部署发布 ASP.NET Core 2.1/Angular 应用程序不会将 ClientApp/dist 文件夹复制到主机

在IIS上托管ASP.NET 5项目

将JSON HttpContent发布到ASP.NET Web API

ASP.NET 5 Web API项目模板不允许使用实体框架

.Net Core Web Api项目无法使用Visual Studio代码进行调试

无法在Visual Studio 2015(ASP.NET 5 Web应用程序)中打开发布对话框

如何将Web API添加到现有的ASP.NET MVC(5)Web应用程序项目中?

DryIoc ASP.NET 5 Web API