C# ';路线收集';不包含';地图路线';没有可访问的扩展方法';地图路线';

C# ';路线收集';不包含';地图路线';没有可访问的扩展方法';地图路线';,c#,.net,visual-studio,C#,.net,Visual Studio,我是.NET的初学者。我也看过其他几个类似标题的帖子。我尝试了这些建议(如下所述),但没有帮助 我需要使用其他人创建的项目来测试功能 当我构建项目时,我会遇到这两个错误 严重性代码说明项目文件行抑制状态 错误CS1061“RouteCollection”不包含的定义 “IgnoreRoute”和无可访问的扩展方法“IgnoreRoute” 无法找到接受“RouteCollection”类型的第一个参数 严重性代码说明项目文件行抑制状态 错误CS1061“RouteCollection”不包含的

我是.NET的初学者。我也看过其他几个类似标题的帖子。我尝试了这些建议(如下所述),但没有帮助

我需要使用其他人创建的项目来测试功能

当我构建项目时,我会遇到这两个错误

严重性代码说明项目文件行抑制状态 错误CS1061“RouteCollection”不包含的定义 “IgnoreRoute”和无可访问的扩展方法“IgnoreRoute” 无法找到接受“RouteCollection”类型的第一个参数

严重性代码说明项目文件行抑制状态 错误CS1061“RouteCollection”不包含的定义 “MapRoute”和不可访问的扩展方法“MapRoute”接受 找不到类型为“RouteCollection”的第一个参数

有问题的代码是这样的

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace DocumentConverterWebAPI
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}
首先我读了这篇文章。

投票最多的回答说,这是因为它需要.NET 4.5+版本,而OP有4.0版本

接下来,我想检查机器上安装的.NET版本。 在开发人员命令提示符中

clrver

Microsoft (R) .NET CLR Version Tool  Version 4.6.1055.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Versions installed on the machine:
v4.0.30319
看来我有一个4.0版本

但是当我尝试安装.NET4.5.2时,我遇到了这个错误

我运行了.NETFramework验证实用程序,它说4.5.2安装正确

项目目标框架设置为4.5.2

这篇文章暗示这可能是因为Resharper插件。

因此,我禁用了resharper,但错误仍然存在

编辑
屏幕截图显示,当我尝试安装4.5.2版本的.NET时,我确实在前面查看了这篇文章。OP自己已经给出了答案,但没有对他的所作所为做出任何解释。除非我明白原因,否则我对修改代码有点犹豫。当我昨天在mac上测试时,这个项目也成功地工作了。(使用Resharper IDE)当项目设置为4.7.2时,显示的是Net 4.5.2。并非所有的网络库都是每个版本的网络的一部分。您需要安装所有以前的版本,以确保拥有所有库。链接S.Akbari使用帖子上的链接提供了OP安装的Net 4.5.2。我认为您应该安装NET4.5.2。@jdweng4.5.2已经安装。我用验证器工具检查过。对不起,上面的截图错了。我将更新问题。是否安装了NET3.5?我去了Microsoft Reference,它有c#的源代码,看起来IgnoreRoute是Net3.5的一部分。