Отладка ASP.NET MVC источника? - PullRequest
6 голосов
/ 02 июня 2009

Пытаясь отладить исходный код ASP.NET MVC 1.0, я следовал инструкциям, подобным this , в основном удалил ссылку на system.web.mvc из моего веб-проекта и добавил исходный проект, который я вместо этого скачал.

Теперь у меня есть эта проблема,

Тип 'System.Web.Mvc.FormMethod' существует в обоих 'c: \ Windows \ Assembly \ GAC_MSIL \ System.Web.Mvc \ 1.0.0.0__31bf3856ad364e35 \ System.Web.Mvc.dll' и в моих AppData \ Local \ Temp \ Temporary ASP.NET Файлы \ корень \ dbcbb149 \ 897fc019 \ сборка \ DL3 \ 796c00fb \ f345f2d6_abe3c901 \ System.Web.Mvc.DLL '

Я попытался закомментировать следующее из web.config

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

но это даст ошибку разницы

Тип 'System.Web.Mvc.Controller' определяется в сборке, которая не ссылки. Вы должны добавить ссылку на сборку 'System.Web.Mvc, Версия = 1.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35' .

Может кто-нибудь помочь с тем, что идет не так и как это исправить. Большое спасибо!

Ray.

Ответы [ 6 ]

7 голосов
/ 03 июня 2009

Нет необходимости удалять ASP.NET MVC из GAC! (или любые другие <assemblyBinding> s) Просто следуйте пошаговой инструкции " Использование исходного кода ASP.NET MVC для отладки приложения ".

Есть пара вопросов, похожих на ваш:

1 голос
/ 02 июня 2009

Предполагая, что полное имя сборки для той, на которую вы ссылаетесь, отличается от имени в GAC, используйте элемент <QualifyAssembly> и укажите, к какой сборке вы действительно привязываете. Если нет, измените локальный источник, чтобы изменить сборку MVC, которую вы строите, на 1.0.0.1, чтобы она отличалась.

Редактировать : Дважды проверьте, как вы связались. Это сработало для меня.

  1. удалил ссылку system.web.mvc в моем проекте.
  2. Добавлен проект System.Web.Mvc из исходного кода.
  3. Закомментируйте ссылку System.Web.Mvc в web.config моего проекта.
  4. изменил / Views/Web.Config System.we.b.mvc, как указано в инструкции.
  5. Бежал без нареканий.
1 голос
/ 02 июня 2009

Являются ли сборки system.web.mvc в GAC? вам может потребоваться удалить их ... это, конечно, может испортить будущие проекты, так как шаблоны проектов, вероятно, будут предполагать, что они находятся в gac.

Вы также можете попробовать использовать функцию <assemblyBinding> как , описанную здесь , чтобы указать mvc материал на версию, которую вы используете.

0 голосов
/ 18 января 2010

Чуть более полную версию инструкций Стива Сандерсонса можно найти здесь .

В нем объясняется, как вы также можете включить MVC Futures в отладку.

0 голосов
/ 02 июня 2009

Ознакомьтесь с этой статьей для получения полного руководства о том, как настроить источник MVC .

Есть два файла web.config, которые необходимо обновить. Один находится в папке проекта MVC, а другой - в папке Views. Вероятно, вы забыли обновить последний. В противном случае, следуя вышеупомянутой статье, следует это сделать.

0 голосов
/ 02 июня 2009

для соответствующего раздела сборки вы хотите что-то вроде этого (мы делаем это для сборки SQLite):

 <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <qualifyAssembly partialName="System.Data.SQLite" fullName="System.Data.SQLite, Version=1.0.60.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    </assemblyBinding>
  </runtime>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...