Asp.net BC30451:Name';路由表';未申报

Asp.net BC30451:Name';路由表';未申报,asp.net,system.web,system.web.routing,Asp.net,System.web,System.web.routing,我正在我的global.asax中尝试一些URL重写-类似于这篇microsoft文章中的内容 我不断收到错误“BC30451:Name'RouteTable'未声明。” 我已将以下内容导入global.asax文件: <%@ Import Namespace="System.Web.Routing" %> <%@ Import Namespace="System.Web.Routing.Route" %> <%@ Import Namespace="System.

我正在我的global.asax中尝试一些URL重写-类似于这篇microsoft文章中的内容

我不断收到错误“BC30451:Name'RouteTable'未声明。”

我已将以下内容导入global.asax文件:

<%@ Import Namespace="System.Web.Routing" %>
<%@ Import Namespace="System.Web.Routing.Route" %>
<%@ Import Namespace="System.Web" %>


Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)

    RegisterRoutes(RouteTable.Routes) ' the problem occurs here

End Sub
这是正确的,因为我不确定我是否可以做到这一点,而不是在3.5


谢谢,

您必须运行3.5 SP1或更高版本才能使用RouteTable。我相信在Service Pack 1之前的3.5版本中不提供路由,所以我建议您至少验证3.5 SP1版本

System.Environment.Version将向您提供此信息,因此您可以尝试使用此方法检查您的.net版本号,就像在代码隐藏中一样:

Response.Write(System.Environment.Version.ToString());
Response.End();
或在您的aspx页面中:

<% Response.Write("Version: " + System.Environment.Version.ToString() ) %>

好的,即使Microsoft.NET Framework版本为:2.0.50727.4234;可能出现在屏幕上,但仍然可以安装asp.net 3.5版本。我在网上查阅了一些资料,包括这篇“asp.net版本疯狂”:

因此,我不认为错误现在是由运行较低版本引起的

至于我遇到的错误,我想我需要将其添加到我的web.config中:

    <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>


这里有一个链接,可以帮助您检查框架的版本:谢谢,不幸的是,我只能访问FTP文件夹以将文件发送到-我无法访问或无法将远程桌面发送到服务器进行检查。我在下面的回答中发布了一些代码,您可以在页面上使用这些代码来查找您的版本,即使只是FTP访问。我尝试了Response.Write(“.NET版本为”&System.Environment.version.ToString())…上面说.NET版本是“2.0.50727.4234”?!?我发布了新的代码,可以帮助你找到准确的版本号。基本上你可以通过:System.Environment.Version.ToString()来获得它。好的,不能让它工作。我已经尝试了Response.Write(“.NET版本是”&System.Environment.version.ToString()&“)…这表示.NET版本是“2.0.50727.4234”?!?我发布了新的代码,可以帮助你找到准确的版本号。基本上,您可以通过:System.Environment.Version.ToString()获得它
    <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>