.NetCore swagger发布到iis时访问api出现404的解决方案

介绍
使用netcore作为纯后端提供api已经变得越来越频繁,swagger也成为很多人的选择。通常会在代码中限制ASPNETCORE_ENVIRONMENT为Production时关闭swagger。但是往往我们需要将api发布到本地iis调试或供他人使用时,swagger将会被禁止。发布后项目往往默认为Production环境,将其修改为Development即可解决。

解决方法
打开发布到iis的文件夹下的web.config文件,添加以下代码:

1 <environmentVariables>
2 <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
3 </environmentVariables>

修改后的web.config结构大致如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <configuration>
 3 <location path="." inheritInChildApplications="false">
 4 <system.webServer>
 5 <handlers>
 6 <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
 7 </handlers>
 8 <aspNetCore processPath="dotnet" arguments="*.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess">
 9 <environmentVariables>
10 <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
11 </environmentVariables>
12 </aspNetCore>
13 </system.webServer>
14 </location>
15 </configuration>
16 <!--ProjectGuid: 15af0485-b65a-422a-bf12-5877b85abb6c-->

更多环境及发布详细介绍可参考netcore环境设置

原文地址:https://www.cnblogs.com/heyy1028/p/12123756.html

时间: 2024-09-28 20:18:18

.NetCore swagger发布到iis时访问api出现404的解决方案的相关文章

微信支付v3发布到iis时的证书问题

找了问题半天,调试没有问题,但是放到网站上就报错.最后解决方法. 一开始报“出现了内部错误” 解决方法是 方法一 var cer = new X509Certificate(certpath, password,X509KeyStorageFlags.MachineKeySet); 方法二 iis 找到部署的站点应用连接池,右键高级设置,找到“加载用户配置文件”改为true.window service2008 默认为false的. 解决后报另一个错误 基础连接已关闭 连接被意外关闭 其实是没访

Unity 3D本地发布WebPlayer版时&quot;Failed to download data file&quot;解决方案

Unity 3D本地发布WebPlayer版时遇到提示:"Failed to download data file"(如上图),遇到这个问题就是指Web服务器并没有支持这种*.unity3d文件类型.需要做的是在Web服务器中添加MIME类型: 1.IIS 7 及以上版本: 在功能视图的IIS选项卡中: 双击打开MIME,选择"添加": .unity3d application/octet-stream 2.IIS6版本: 右击计算机名,选择属性,找到MIME类型,

MVC4发布到IIS,出现HTTP 错误 404.0 - Not Found的解决方法

1.修改配置文件<system.webServer><modules runAllManagedModulesForAllRequests="true" /></system.webServer>2.IIS目录浏览 设置为禁用目录

vuecli3 + elementUI 打包发布到iis后element-icons.woff文件404

最开始以为是文件加载器url-loader配置问题,尝试修成配置无效 后发现是iis配置问题 解决方案: 添加后缀名.woff,文件类型添加 application/x-font-woff 原文地址:https://www.cnblogs.com/qiangjinjiu/p/10118232.html

[转] ASP.NET WEB API程序在VS启动或发布到IIS后启动后发生 - Could not load file or assembly &#39;System.Web.Http.WebHost’异常,无法正常访问

Just do Copy Local = true in the properties for the assembly(System.Web.Http.WebHost) and then do a redeploy, it should work fine. http://stackoverflow.com/questions/20323107/could-not-load-file-or-assembly-system-web-http-webhost-after-published-to-

asp.net 网站国际化在使用资源文件发布到IIS上不可访问,因为它受保护级别限制

asp.net 网站国际化在使用资源文件发布到IIS上报错:编译器错误消息: CS0122: "Resources.Resource"不可访问,因为它受保护级别限制 后来在网上找了很久,才找了个解决方案 在资源文件属性上选择生成操作为"内容",不要选择"嵌入的资源"

在使用 AjaxFileUpload 上传文件时,在项目发布到 iis 后,图片不能预览

在使用 AjaxFileUpload  上传文件时,图片已经上传成功了,在站点没有发布时,可以预览,可是在项目发布到 iis 后,图片就不能预览,在网上找了很多的方案也没解决,最后的解决方案如下: 1.开始运行 regedit 打开注册表,先备份注册表 2.找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters 3.在 编辑 菜单上指向 新建 ,然后单击 DWORD 值 . 4.键入 EnableAggres

IIS 发布网站 ashx无法访问

IIS6 问题 1.是否安装相应的.net版本 2.查看.net版本是否一致 3.查看web 服务扩展中.net版本是否允许. 4.添加相应的MIME类型文件 在IIS中右键网站→属性→主目录→配置→添加 可执行文件路径:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 取消确认文件是否存在 IIS 发布网站 ashx无法访问

WebAPP,API调用Excel, Word,Bartender等DCOM, VS调试没问题,发布到IIS出错

WebAPP,API调用Excel, Word,Bartender等DCOM, VS调试没问题,发布到IIS出错,类似如下 "Message": "An error has occurred.", "ExceptionMessage": "Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} fai