2017-12-02 14 views
0

私にはASP.NET Core 2.0アプリケーションがあり、Angular 5アプリケーションがあります。それらは別々に開発されています(VS2017では1番目、VSコードでは2番目)。そこでVSTSでCD/CIを設定し、Angularアプリケーションをビルド中に/ coreapp/ASP.NET Coreアプリのフォルダに注入します。角膜経路をASP.NET Core 2.0アプリケーション内で動作させる

ユーザーが開いたときに角度アプリが動作するようにするために、私はIISでURL書き換えルールを設定しました(したがって、/ angularappにアクセスすると/angularapp/index.htmlに書き換えられます)。

しかし、Angularアプリの深いリンクはどうですか?/angularapp/featureを開くと、ASP.NET Core 2.0から404エラーが発生します。これを回避することはできますか?

答えて

1

Janne-Harjuが正しい。解決策はここにあります - https://code.msdn.microsoft.com/How-to-fix-the-routing-225ac90f。しかし、それを動作させるために、あなたはこれを持っていることを確認してください:

app.UseDefaultFiles(new DefaultFilesOptions { DefaultFileNames = new List<string> { "index.html" }}); 
+0

私はapp.UseDefaultFilesを試しましたが、私がhttps://code.msdn.microsoft.com/How-to-fix-the-routing-225ac90fで提供されている完全なソリューションを使用するまでは機能しませんでした 今後、 msdnリンクで誰も動かなければ、他のユーザーはまだ完全な解決策を得ることができるように、あなたの答えを親切に更新しますか? –

-1

私はそこの部分場合には、角度のルートの他にもあるが、私はそこだと思う私のレポでは、.NETコア2.0についてはよく分からないが、これはネットコアで私の作品1.1 https://github.com/JanneHarju/MultiSourcePlayList/blob/076c6e4108cbae3bb5128e7f176ed35a61593922/Startup.cs#L169

app.Use(async (context, next) => 
     { 
      await next(); 

      if (context.Response.StatusCode == 404 && 
       !Path.HasExtension(context.Request.Path.Value) && 
       !context.Request.Path.Value.StartsWith("/api/")) 
      { 
       context.Request.Path = "/index.html"; 
       await next(); 
      } 
     }); 

もはやそれ以上の用途ではありません。

+0

あなたは実際に質問にあったことはできますか?コア2.0のために、サブフォルダさえも角度5アプリで動作します。 – alvipeo

+0

これは/ angularapp/featureであなたの角度のルートか何ですか?アプリのルーティングモジュールを提供できますか? –

+0

私の提案は.Net Core 2.0とも動作するはずですhttps://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware?tabs=aspnetcore2x –

関連する問題