名为"DefaultRoute"的路径已在路径集合中.路线名称必须是唯一的

xai*_*oft 5 c# iis asp.net-mvc restsharp asp.net-web-api

当我ASP.NET WebAPI向远程发布解决方案时IIS Server,我收到错误消息:

消息:System.ArgumentException:名为"DefaultRoute"的路由已在路径集合中.路线名称必须是唯一的.

我看到这个线程有同样的问题,但它没有任何效果.我试过了:

  1. 删除所有项目中的所有bin/obj文件夹.
  2. 清洗/重建
  3. 在发布之前从远程服务器上删除文件
  4. 重命名项目

无论如何,我可以找出是否存在陈旧文件.我确实重命名了一些文件,我听说这会导致问题?

不确定这是否重要,但我使用ASP.NET WebApi和RestSharp进行休息调用.

这就是我的意思Global.asax startup:这是多余的吗?

AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
RouteConfig.RegisterRoutes(RouteTable.Routes);
Run Code Online (Sandbox Code Playgroud)

Kra*_*101 9

我已经设置路线遇到了类似的问题.对我来说,解决方案就在这里:https://stackoverflow.com/a/28503674/1496138.问题是我后来改名为项目文件 - 以前名称的旧DLL文件仍然存在于/ bin目录中,并且自动启动配置也运行它们.


小智 1

路由通常配置在三个位置之一。global.asax 文件、RouteConfig.cs 文件(通常在 /App_Start 中或在 /Areas/{areaname} 中找到的 {areaname}AreaRegistration.cs 文件中找到。这些地方必须有重复的路由名称。因为它给你的名称是重复的,尝试在你的项目中搜索“DefaultRoute”,它可能会跳出来。更改其中之一的名称,它应该可以解决你的问题。