2017-10-10 76 views
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服务器上。

有没有什么办法可以解决这个问题或解决这个问题的方法?

+0

“.NET Standard 4.6.1”您的意思是.Net Framework 4.6.1 – phuzi

+0

是的。我编辑了这个问题。谢谢 – aamb

+0

可能重复的[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

回答

0

您应该检查应用程序设置为在IIS中使用的身份验证。

如果您未使用身份验证,请确保您启用了匿名身份验证。您还需要确保IIS用户可以访问您的应用程序所在的目录。

如果要将您的域帐户用作身份验证,请确保Windows身份验证已打开,并且您的帐户使用可以访问您的应用程序所在的目录。另外,请确保您在代码中的操作,控制器或应用程序级别应用身份验证。

欲了解更多信息,可以阅读MSDN信息here

+0

我再次检查以确保启用了匿名身份验证。我禁用了所有限制身份验证的控制器,以确保这不是问题,但这并没有帮助。我能够访问我的本地主机上的一切正常。尽管感谢您的帮助。 – aamb

+0

IIS可能使用与您本地主机上不同的用户,IIS是否可以访问该目录? – MBurnham

+0

是的,IIS有权访问该目录。 – aamb

0

.NET标准是不可执行的组件(类库),使他们可以在不同的可执行组件之间共享。

将应用程序发布到IIS时,需要使用可执行的DLL(.NET Framework或.NET Core),该应用程序可以使用.NET Standard进行排除。您可以从应用程序中引用.NET标准库,但应用程序的入口点不能是.NET Standard。

但是,目前还不清楚为什么只有在发布到IIS时才发现此问题,因为以.NET标准为目标的ASP.NET应用程序也不应该在本地运行。

+0

那么你会如何发布一个使用.NET Framework的Web API? – aamb

+0

应该没有问题(是你在做什么?你的问题似乎表明否则...)。 – NightOwl888

+0

也许我说错了。我正在尝试发布一个将.NET Framework用于IIS的Web应用程序。一个是Web API,另一个是NuGet服务器。谢谢你的帮助。 – aamb

0

我指着服务器上的错误位置。当我需要指向项目文件夹时,我正指向bin文件夹。谢谢您的帮助。