BC30451: имя «RouteTable» не объявлено

Я пытаюсь переписать URL-адрес в своем файле global.asax — аналогично тому, что происходит в этой статье Microsoft http://msdn.microsoft.com/en-us/library/system.web.routing.routetable.routes.aspx

Я продолжаю получать сообщение об ошибке «BC30451: имя« 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

... но, похоже, он не распознает "RouteTable".

Я проверил у своих хостинг-провайдеров, что я на .net 3.5, хотя я не уверен, так как в нижней части сообщения об ошибке говорится:

Информация о версии: Версия Microsoft .NET Framework: 2.0.50727.4234; Версия ASP.NET: 2.0.50727.4223

Они сказали мне :

We have receive an update from our system engineers, net 3.5 is basically version 2 with a few add -ons. Similarly 4.5 is references as version 4.
They have also checked other sites on the server and they are also reflected as 2

Это правильно, так как я не уверен, что смогу это сделать и не буду на 3.5?

Спасибо,


person thegunner    schedule 11.06.2013    source источник
comment
Вот ссылка, которая поможет вам проверить, какая у вас версия фреймворка: stackoverflow.com/questions/199080/   -  person chris_dotnet    schedule 11.06.2013
comment
Спасибо, к сожалению, у меня есть доступ только к FTP-папке для отправки моих файлов — я не получаю доступ или не могу удаленно подключиться к серверу для проверки.   -  person thegunner    schedule 11.06.2013
comment
Я разместил некоторый код в ответе ниже, который вы можете использовать на своей странице, чтобы найти свою версию, даже имея только FTP-доступ.   -  person chris_dotnet    schedule 11.06.2013
comment
Я пробовал Response.Write(версия .NET - & System.Environment.Version.ToString())... в котором говорится, что версия .NET - 2.0.50727.4234?!? Возможно ли это в версии 3.5, как говорит хостинговая компания?   -  person thegunner    schedule 12.06.2013
comment
Я разместил новый код, который должен помочь вам найти точный номер версии. В основном вы можете получить это с помощью: System.Environment.Version.ToString()   -  person chris_dotnet    schedule 12.06.2013


Ответы (2)


Хорошо, может показаться, что хотя Microsoft .NET Framework Version:2.0.50727.4234; может появиться на экране, версия asp.net 3.5 все еще может быть установлена. Я проверил несколько источников в Интернете, в том числе это «безумие версии asp.net»:

http://blogs.msdn.com/b/jamesche/archive/2007/09/25/asp-net-version-madness.aspx

Поэтому я не верю, что ошибка теперь вызвана запуском более низкой версии.

Что касается ошибки, которую я получаю, я думаю, мне нужно добавить это в мой web.config:

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

Вы должны использовать 3.5 SP1 или более позднюю версию, чтобы использовать RouteTable. Я полагаю, что маршрутизация не была доступна в 3.5 до Service Pack 1, поэтому я бы рекомендовал убедиться, что вы используете по крайней мере 3.5 SP1.

System.Environment.Version предоставит вам эту информацию, чтобы вы могли попробовать это, чтобы проверить номер версии .net, например, в вашем коде:

Response.Write(System.Environment.Version.ToString());
Response.End();

Или на вашей странице aspx:

<% Response.Write("Version: " + System.Environment.Version.ToString() ) %>
person chris_dotnet    schedule 11.06.2013
comment
Хорошо, не удалось заставить это работать. Я пробовал Response.Write(‹div style='color:#fff'›Версия .NET: & System.Environment.Version.ToString() & ‹/div›) ... в котором говорится, что версия .NET 2.0.50727.4234?!? Возможно ли это в версии 3.5, как говорит хостинговая компания? - person thegunner; 12.06.2013
comment
Я разместил новый код, который должен помочь вам найти точный номер версии. В основном вы можете получить это с помощью: System.Environment.Version.ToString() - person chris_dotnet; 12.06.2013