2016-07-19 10 views
5

見つかりませんでした。Asp.netコアは:ビューのインデックスは、「Asp.netコア</p> <p>3のアプリを、フロントエンド、(同じ敷地内)APIおよびログイン、IIS 8.5でアプリケーションを展開

3人すべてがVS2015からIIS Expressで完全に動作しています。

フロントエンド(HTMLのみ/ AngularJS)& APIは、IIS 8.5

しかし、ログイン(IdentityServer4)のために完璧に取り組んでいる:

InvalidOperationException: The view 'Index' was not found. The following locations were searched: 
- ~/UI/Home/Views/Index.cshtml 
- ~/UI/SharedViews/Index.cshtml 

私は '〜/' が参照する理解その約束。

マイVS2015構造:
Visual Studio 2015 project structure

テスト済み/チェック:

  • .UseContentRoot(Directory.GetCurrentDirectory())のProgram.csに
  • すべての権限IIS_IUSRSユーザーアカウントにサーバー上
  • CustomViewLocationExpander:

    public class CustomViewLocationExpander : IViewLocationExpander { 
    
        public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations){ 
         yield return "~/UI/{1}/Views/{0}.cshtml"; 
         yield return "~/UI/SharedViews/{0}.cshtml"; 
        } 
    
        public void PopulateValues(ViewLocationExpanderContext context) 
        { 
        } 
    } 
    

私は自由に 'wwwrootに' のみJS /画像/ CSSのすべてのコンテンツにアクセスすることができます

私はこの1つ上の無知です。

+0

ビューを展開したかどうか確認しましたか?あなたのproject.jsonの様子を共有できますか? –

+0

project.jsonのpublishOptions要素に「wwwroot」以外の「UI」フォルダを追加するのを忘れました – DavidT

答えて

5

投稿する前に1時間以上を検索しました。休憩を取って、これを見つけた:project.jsonのオプションを公開

"publishOptions": { 
    "include": [ 
    "wwwroot", 
    "UI", 
    "YourCertificateName.pfx", 
    "web.config" 
]} 

精密に

https://github.com/IdentityServer/IdentityServer4.Samples/issues/23

追加「UI」:「UIは、」私の意見を含む「ルート」フォルダを参照。エクスポートする "publishOptions"にすべての(ルートビューフォルダ)を含める必要があります。

+0

無駄な編集をして申し訳ありません。あまりにも多くの時間をコーディングすると、私の脳は昨晩消えようとしていたと思う...とにかくあなたの答えをありがとう –

+0

あなたはあなたがこれを言ったことを知っているが、あなたが何を意味したのか分からなかった。 「UI」はビューを含むフォルダの名前を指します。私のpublishOptionsに「UI」を追加しても動作しませんでした:-p –

関連する問題