Сообщение об ошибке о существующем - PullRequest
0 голосов
/ 27 ноября 2010

Я использую VS 2010 с ASP.net MVC 2.

Я получил программу, которая была завершена, и при отладке программы получаю сообщение об ошибке.

"Ошибка4 Тип «System.Web.Routing.RouteTable» существует в папках «C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll» и «C: \ Documents and Settings \».Vincent \ Desktop \ 3 \ Manning.ASP.NET.MVC.2.in.Action.Jun.2010 \ aspnetmvc2inaction_code \ lib \ AspNetMvc \ System.Web.Routing.dll 'C: \ Документы и настройки \ Vincent \ Desktop \ 3\ Manning.ASP.NET.MVC.2.in.Action.Jun.2010 \ aspnetmvc2inaction_code \ src \ Chapter01 \ GuestBook \ Global.asax.cs "

и

" Ошибка 1Тип 'System.Web.Routing.RequestContext' существует в папках 'c: \ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll' и 'c: \ Documents and Settings \ Vincent \Рабочий стол \ 3 \ Manning.ASP.NET.MVC.2.in.Action.Jun.2010 \ aspnetmvc2inaction_code \ lib \ AspNetMvc \ System.Web.Routing.dll 'C: \ Документы и настройки\ Vincent \ Desktop \ 3 \ Manning.ASP.NET.MVC.2.in.Action.Jun.2010 \ aspnetmvc2inaction_code \ src \ Chapter01 \ GuestBook \ Controllers \ AccountController.cs ".

Программа была преобразованав формат VS 2010.

Что мне делать?

// Fullmetalboy

Ответы [ 4 ]

4 голосов
/ 27 ноября 2010

Когда вы конвертируете проект из .Net 2.0 / 3.5 в 4.0 в VS2010, веб-проекты предложат обновить фреймворк до 4.0, но вам нужно будет вручную перейти в свойства проекта и обновить проекты библиотеки классов и некоторые другие проекты. вручную в свойствах проекта. Так что этот тип ошибки, вероятно, вызван тем, что ваш веб-проект ссылается на версию 4.0 System.Web.Routing, но библиотека классов в вашем решении все еще ссылается на версию 3.5.

0 голосов
/ 21 декабря 2010

Поскольку вы используете .NET 4.0 Framework, библиотека System.Web.Routing неоднозначна. Убедитесь, что вы ссылаетесь на System.Web.dll (версия 4.0) и удалите ссылку на System.Web.Routing.dll

0 голосов
/ 27 ноября 2010

Кто-то скопировал исходный код ASP.NET MVC в папку «lib» вашего приложения и либо включил эту папку в проект (чтобы он создавался при сборке проекта), либо он / она построил его до того, как вы получилион и ссылался на него из проекта.Теперь он конфликтует с библиотеками ASP.NET, которые существуют в папке установки по умолчанию в системе 'c: \ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll'.

0 голосов
/ 27 ноября 2010

Один из проектов в вашем решении ссылается на один тип (RouteTable / RequestContext) в двух разных местах.Я всегда начинаю с очистки и перестройки решения, но если это не поможет, вам придется проверить ссылки на проект и решить его таким образом.Если ничего не помогает, попробуйте создать новый проект с нуля, вручную добавьте необходимые ссылки и проекты, а затем скопируйте и вставьте старый код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...