Как пройти через код Catel при отладке?

После добавления реализации Catel к одному из моих представлений (mainPage) в моем проекте у меня появляется ошибка, которая приводит к сбою моего проекта Silverlight. Единственное указание, которое у меня есть:"Первое случайное исключение типа" System.NullReferenceException "произошло в Catel.MVVM " (примерно после установки RootVisual~) - я не могу найти, что я делаю неправильно, и так как я Я рассчитываю на длительные отношения с Catel. Я подумал, что пошаговое выполнение кода Catel может пригодиться, поэтому я попытался и потерпел неудачу на всех следующих этапах (любая помощь будет оценена.. потому что в настоящее время я застрял и не могу найди что нибудь)

  1. скачал исходные файлы catel 3.9 (так же, как мой пакет nuget) и попытался его собрать.. не удалось с этой ошибкой: E:\Dev\Catel-3.9.0\src\Catel.Core\Catel.Core.SL5\Fody.targets(51,5): ошибка MSB4036: задача "Fody.WeavingTask" не найдена. Проверьте следующее: 1.) Имя задачи в файле проекта совпадает с именем класса задачи. 2.) Класс задачи является "общедоступным" и реализует интерфейс Microsoft.Build.Framework.ITask. 3.) Задача правильно объявлена ​​в файле проекта или в файлах *.tasks, расположенных в каталоге "E:\WINDOWS\Microsoft.NET\Framework\v4.0.30319". - пытаясь найти и выяснить причины и преодолеть это, привести меня в никуда.:(

  2. я следовал этой инструкции "пошаговое выполнение кода" в документации Catel, но замечание действительно произошло (я использую VS2010.. это проблема??)

  3. Я прочитал эту статью & readme.md по адресу: https://github.com/GeertvanHorrik/GitHubLink об использовании GitHubLink, чтобы помочь вам пройти через код Catel во время отладки. Я скачал релиз GitHubLink 1.3.0 с https://github.com/GeertvanHorrik/GitHubLink/releases/tag/1.3.0... но при запуске этого файла только с флагом githublink.exe -help возникло исключение..

  4. Я загрузил исходные файлы Githublink-master, но 0 проектов были загружены (файл проекта GithubLink несовместим с текущей версией VS - я использую VS2010)

Может ли кто-нибудь помочь мне затенить свет или:

  • преодолеть ошибку сборки, которую я получаю для catel (№ 1)
  • научите меня, как установить & шаг в catel?
  • поделитесь файлами pdb для библиотек Catel

2 ответа

Это полностью зависит от версии, которую вы используете. Если вы используете последнюю официальную версию (3.9), пошаговое выполнение кода возможно только путем клонирования главной ветки и создания файлов PDB самостоятельно.

В последних предварительных версиях через NuGet (будущая версия 4.0) вам нужно только включить флажок исходного сервера.

Обратите внимание, что вам никогда не придется использовать GitHubLink самостоятельно, то есть только для разработчиков (мы запускаем его во время сборки Catel).

О задаче Fody: похоже, пакеты NuGet еще не восстановлены на вашей стороне. В папке lib находится RestorePackages.bat, который вы можете запустить для восстановления пакетов.

Я попытался отладить на VS2012 и с помощью предварительной версии Catel 4 (от Nuget).. хотя я считаю, что я сделал все правильно и настройки в VS, я не получил намного дальше.. Так что я открыл (с помощью редактора bin) pdb файл, который был извлечен Nuget с помощью DLL, и посмотрел на файл bin. в этом файле есть строки, указывающие на исходные файлы в этом каталоге: C:\ci_ws\WS\1629\source\catel\src\catel/mvvm\catel.mvvm.shared.. Итак, я создал дерево, которое начинается с c:\ci_ws\ WS \ 1629 \ источник
и загрузил папку catel в этот каталог, переименовал ее из "Catel-Develop" в просто "Catel", чтобы найти место, на которое указывает pdb. Чтобы все заработало, мне также пришлось добавить "Расположение файла символов (.pdb)" в VS option-> settings->Debugging->Symbols..(location/server list), куда nuget загружает пакеты. в моем случае.. SolutionFolder\Packages\Catel.MVVM.3.9.0.1406062245-beta\lib\sl50..(я использую Silverlight), а затем я смог загрузить символы и успешно перейти в код.. Может быть, я что-то упустил, и есть лучший способ, но это единственный способ, который работал для меня..

Единственный вопрос, который все еще остается для меня сейчас: как называется исходная ветка Catel Github, которая соответствует dll и pdb перед выпуском, которые Nuget публикует в данный момент (3.9.0.1406062245)? (Я снял флажок с общими параметрами отладки: требовать, чтобы исходные файлы точно соответствовали исходной версии)

Другие вопросы по тегам