我已经通过VSTS向IIS发布了多个.NET Core项目,并且没有任何问题。但是,当我尝试添加一个.NET标准项目时,我得到一个403.14 - 禁止的错误页面。如果我尝试输入API的特定路由以获得响应,则会引发404 - Not Found错误页面。将.NET Standard发布到IIS引发403.14错误
我正在使用.NET Framework 4.6.1,它也安装在我的IIS 8.0服务器上。
有没有什么办法可以解决这个问题或解决这个问题的方法?
我已经通过VSTS向IIS发布了多个.NET Core项目,并且没有任何问题。但是,当我尝试添加一个.NET标准项目时,我得到一个403.14 - 禁止的错误页面。如果我尝试输入API的特定路由以获得响应,则会引发404 - Not Found错误页面。将.NET Standard发布到IIS引发403.14错误
我正在使用.NET Framework 4.6.1,它也安装在我的IIS 8.0服务器上。
有没有什么办法可以解决这个问题或解决这个问题的方法?
您应该检查应用程序设置为在IIS中使用的身份验证。
如果您未使用身份验证,请确保您启用了匿名身份验证。您还需要确保IIS用户可以访问您的应用程序所在的目录。
如果要将您的域帐户用作身份验证,请确保Windows身份验证已打开,并且您的帐户使用可以访问您的应用程序所在的目录。另外,请确保您在代码中的操作,控制器或应用程序级别应用身份验证。
欲了解更多信息,可以阅读MSDN信息here
.NET标准是不可执行的组件(类库),使他们可以在不同的可执行组件之间共享。
将应用程序发布到IIS时,需要使用可执行的DLL(.NET Framework或.NET Core),该应用程序可以使用.NET Standard进行排除。您可以从应用程序中引用.NET标准库,但应用程序的入口点不能是.NET Standard。
但是,目前还不清楚为什么只有在发布到IIS时才发现此问题,因为以.NET标准为目标的ASP.NET应用程序也不应该在本地运行。
那么你会如何发布一个使用.NET Framework的Web API? – aamb
应该没有问题(是你在做什么?你的问题似乎表明否则...)。 – NightOwl888
也许我说错了。我正在尝试发布一个将.NET Framework用于IIS的Web应用程序。一个是Web API,另一个是NuGet服务器。谢谢你的帮助。 – aamb
我指着服务器上的错误位置。当我需要指向项目文件夹时,我正指向bin文件夹。谢谢您的帮助。
“.NET Standard 4.6.1”您的意思是.Net Framework 4.6.1 – phuzi
是的。我编辑了这个问题。谢谢 – aamb
可能重复的[HTTP错误403.14 - 禁止 - Web服务器配置为不列出此目录的内容](https://stackoverflow.com/questions/18981118/http-error-403-14-forbidden-the -web-server-is-configured-to-not-list-the-con) – codeMonkey