2017-10-10 120 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文件夾。謝謝您的幫助。