ASP.NET MVC Справочные проблемы? - PullRequest
2 голосов
/ 22 января 2009

При выполнении проекта MVC я получил следующие 2 ошибки компиляции:

  1. Тип System.Web.Mvc.ViewPage определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на сборку:

System.Web.Mvc, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = ноль.

  1. Вызов неоднозначен между следующими методами или свойствами:

System.Web.Mvc.Html.LinkExtensions.ActionLink (System.Web.Mvc.HtmlHelper, строка, строка, строка) и System.Web.Mvc.Html.LinkExtensions.ActionLink (System.Web.Mvc.HtmlHelper, строка, строка, строка)

Я думаю, что у меня правильная настройка в web.config

<compilation debug="true">
  <assemblies>
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
  </assemblies>
</compilation>

и

<namespaces>
    <add namespace="System.Web.Mvc"/>
    <add namespace="System.Web.Mvc.Ajax"/>
    <add namespace="System.Web.Mvc.Html"/>
    <add namespace="System.Web.Routing"/>
    <add namespace="System.Linq"/>
    <add namespace="System.Collections.Generic"/>       
</namespaces>

И я получил ссылку на 3 dll, которые я установил в asp.net mvc с:

C:\Program Files\Microsoft ASP.NET\ASP.NET MVC Beta\Assemblies

3 dlls:

System.Web.Abstractions.dll
System.Web.Routing.dll
System.Web.Mvc.dll

Может кто-нибудь пролить свет на то, что идет не так и как их решить, пожалуйста?

Ответы [ 4 ]

2 голосов
/ 23 января 2009

Я скачал последний источник mvc с CodePlex и собрал его. Я исправил первую ошибку, сославшись на загруженную версию System.Web.Mvc.dll, а остальные 2 библиотеки указали на библиотеки DLL в папке C: \ Program Files \ Microsoft ASP.NET \ ASP.NET MVC Beta \ Assemblies.

Теперь, когда нет первой ошибки, но все еще существует вторая ошибка, которая

Вызов неоднозначен между следующими методами или свойствами: 'System.Web.Mvc.Html.LinkExtensions.ActionLink (System.Web.Mvc.HtmlHelper, string, string, string)' и 'System.Web.Mvc. Html.LinkExtensions.ActionLink (System.Web.Mvc.HtmlHelper, строка, строка, строка) '

это происходит практически на каждой странице просмотра. Что я мог сделать, чтобы это исправить?

Спасибо большое!

1 голос
/ 23 января 2009

Вторая ошибка, вероятно, связана с некоторой ошибкой в ​​одном из представлений. У меня возникли похожие проблемы при работе с ASP.NET MVC. Ошибки компиляции не очень специфичны, когда в представлении есть что-то не так. Итак, сфокусируйтесь на представлениях и, в частности, на разделах кода, где вы вызываете Html.ActionLink () Это должно в конечном итоге привести вас к источнику ошибки ...

0 голосов
/ 26 мая 2013

Вторая ошибка связана с тем, что среда IDE получает ссылку из двух разных источников. В результате он не может решить, какой из них выбрать.

Мне добавили System.Web.Mvc и System.Web.Mvc.Html в файл web.config раздела пространства имен. Я удалил System.Web.Mvc.Html, и он был исправлен.

Вот скриншот, если кто-то сталкивается с той же проблемой: enter image description here

0 голосов
/ 23 января 2009

Поскольку вы ссылаетесь на все нужные сборки, и я не вижу ничего плохого в вашем файле Web.Config, мне интересно, ссылаетесь ли вы на правильную версию сборок. Уже выпущено несколько версий ASP.NET MVC, и, возможно, вы все еще ссылаетесь на более раннюю версию System.Web.Mvc.dll (до версии 1.0.0.0.)?

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