Open fschlaef opened 5 years ago
Confirmed the repro steps for this issue. Also located v2.2.0 source code with the corresponding error message. https://github.com/aspnet/AspNetCore/blob/a07be530331ef6c4d9c1765b50c2a9d38268113c/src/Mvc/src/Microsoft.AspNetCore.Mvc.Core/Builder/MvcApplicationBuilderExtensions.cs
They have limited the allowed type inside the UseMvc method when evaluating the routes to be only Microsoft.AspNetCore.Routing.Route.
I may try a pull request on this issue after attempting a fix. Need to pull down the relevant sources and see if anything can be done with the inheritance on the route analyzer type. (Because this little library is pretty useful). If I don't get the pull request done, perhaps the author can take a look too.
Here is my attempt at fixing this. The correct branch to look at is "release/2.2" in the code linked above. It seems all that would be needed is to construct a Router object in the method RouteAnalyzerRouteBuilderExtensions in this library. However, when I attempted it, the "/routes" route could not be found. The exception didn't happen. But the route wasn't constructed properly. Here's the code snippet I tried (commented out line and extra IServerProver parameter what what I changed).
public static class RouteAnalyzerRouteBuilderExtensions
{
public static string RouteAnalyzerUrlPath { get; private set; } = "";
public static IRouteBuilder MapRouteAnalyzer(this IRouteBuilder routes, string routeAnalyzerUrlPath, IServiceProvider serviceProvider)
{
var inlineConstraintResolver = serviceProvider.GetRequiredService<IInlineConstraintResolver>();
RouteAnalyzerUrlPath = routeAnalyzerUrlPath;
routes.Routes.Add(new Router(routes.DefaultHandler, routeAnalyzerUrlPath));
//routes.Routes.Add(new Microsoft.AspNetCore.Routing.Route(new Router(routes.DefaultHandler, routeAnalyzerUrlPath), routeAnalyzerUrlPath, inlineConstraintResolver));
return routes;
}
}
I Have exactly the same error with Net Core 3 Any intention to support that version?
Can somebody help me to understand and solve the problem?
Thanks
I have the same issue.
No official release on Nuget.org yet with this "fix"...
When attempting to use this package on ASP.Net Core 2.2.0, I get the following exception at startup :
This only happends when using MVC compatibility version 2.2 in
ConfigureServices
:The only workaround I found is to rollback to 2.1 compatibility mode :
However this prevents from benefiting from 2.2.0 improvements, and as such it is not a real workaround.