Zostałem zmuszony do uaktualnienia Microsoft.AspNet.WebApi.Client i Microsoft.AspNet.WebApi.Core od wersji 5.0.0.0 do 5.2.0.0 ze względu na zależność od innego projektu, a teraz mój interfejs API wyrzuca błąd "Bezpośrednia trasa nie może korzystać z parametru" kontroler ".Podaj literalną ścieżkę zamiast tego parametru, aby utworzyć trasę do kontrolera".Aktualizacja do błędu WebApi.Core - Bezpośrednia trasa nie może korzystać z parametru "kontroler"
Błąd zostaje wrzucony na inicjalizacji HttpConfiguration w Global.asax.cs Dzwoniąc
GlobalConfiguration.Configure(WebApiConfig.Register);
Wydaje się, że biblioteka Rdzeń, który jest przyczyną problemu. Kiedy zaktualizowałem tylko klienta, nie wyrzuciłem błędu.
Zauważyłem, że jeśli skomentuję atrybuty trasy ze wszystkich kontrolerów w projekcie, to nie będzie on już zgłaszał błędu, np.
[Route("api/storage/series/{series}/documentId/{documentId}")]
Jednak ich usunięcie nie jest dobrym rozwiązaniem ze względu na liczbę zależnych aplikacji.
W Google/Binging błąd jest o wiele zero przydatnych informacji na ten temat. Czy ktokolwiek może zaoferować wgląd w ten błąd i zasugerować, w jaki sposób mogę go naprawić?
Aby uniknąć nieporozumień: w „Podstawowych ASP.NET Web Applications”, przynajmniej w .NET Rdzenia 2.0, jeden * * można użyć zastępczego kontrolera w „Szlaku” atrybuty, ale z * * nawiasach kwadratowych. Na przykład '[Route (" api/[controller]/editGroups ")]' –