1つのコントローラでASP.Net Core 2.0を作成しましたが問題ありません。 は、その後、私は別のコントローラを追加し、その後、この例外が表示されます:ASP.Net Core 2複数のコントローラ
と、InvalidOperationException:次のエラーが 属性ルーティング情報で発生しました:
エラー1:同じ名前の属性ルート」を取得]同じを持っている必要があります テンプレート:アクション: 'Patrimonio.Controllers.CategoriaController.Getcc (パトリモニオ)' - テンプレート: 'API/Categoria/{ID}' アクション: 'Patrimonio.Controllers.PatrimonioController.Getac(パトリモニオ)' - テンプレート: ' api/Patrimonio/{id} ' Microsoft.AspNetCore.Mvc.Int ernal.ControllerActionDescriptorBuilder.Build(ApplicationModel アプリケーション)
第1のコントローラは、
// GET: api/Categoria
[Route("api/Categoria")]
public class CategoriaController : Controller
...
[HttpGet]
public IEnumerable<string> Geta()
{
return new string[] { "value1", "value2" };
}
第二は、あってもGetacとGetccと
// GET: api/Patrimonio/5
[Route("api/Patrimonio")]
public class PatrimonioController : Controller
...
[HttpGet("{id}", Name = "Get")]
public string Getac(string id)
{
return "value" + id;
}
を有し、を有しますASP.Netのコアは、名前「」を取得します。
これを解決するにはどうすればよいですか?
興味深いと
交換してみてください!これはうまくいくはずです。他のどこかで使用している他のルーティング定義コードがありますか? – Shyju
私はapp.UseMvc()を試しました。 //app.UseMvcWithDefaultRoute();これを解決する効果はないようです。 – Tony