如何在调试时逐步执行Catel代码?

时间:2014-06-08 23:29:51

标签: silverlight github catel

在我的项目中将一个Catel实现添加到我的一个视图(mainPage)后,我遇到了一个崩溃我的Silverlight项目的错误。我唯一的指示是:“在Catel.MVVM中发生'System.NullReferenceException'类型的第一次机会异常”(就在设置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.)任务类是“public”并实现Microsoft.Build.Framework.ITask接口。 3.)在项目文件中或位于“E:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319”目录中的* .tasks文件中正确声明任务。 - 试图搜索并找出原因并克服这个问题,让我无处可去。 :(

  2. 我已经按照Catel文档中的“逐步执行代码”说明进行了操作,但注意到了真的发生了(我正在使用VS2010 ..这是一个问题?)

  3. 我读过这篇文章& readme.md at:https://github.com/GeertvanHorrik/GitHubLink关于使用GitHubLink帮助您在调试时单步执行Catel代码。我从https://github.com/GeertvanHorrik/GitHubLink/releases/tag/1.3.0下载了GitHubLink 1.3.0版本...但是即使只使用githublink.exe -help标志运行它也引发了异常..

  4. 我下载了Githublink-master源文件,但是加载了0个项目(GithubLink项目文件与当前版本的VS不兼容 - 我正在使用VS2010)

  5. 任何人都可以帮我遮挡光线或者:

    • 克服了我收到的catel(no.1)的构建错误
    • 告诉我如何设置&走进卡特尔?
    • 分享Catel libs的pdb文件

2 个答案:

答案 0 :(得分:1)

这完全取决于您使用的版本。如果您使用的是最新的官方版(3.9),则只能通过克隆分支并自行构建PDB文件来逐步执行代码。

在最新的预发布版本中,通过NuGet(即将发布的4.0版本),您只需启用源服务器复选框。

请注意,您不应该自己使用GitHubLink,这仅适用于开发人员(我们在构建Catel期间运行它)。

关于Fody任务:看起来NuGet包还没有恢复到您的身边。在 lib 文件夹中有一个RestorePackages.bat,您可以运行它来恢复软件包。

答案 1 :(得分:0)

我尝试在VS2012上调试并使用Catel 4预发布版(来自Nuget)。 虽然我相信我做了所有正确的事情&在VS的设置,我没有进一步.. 所以我打开(使用bin编辑器)由Nuget使用DLL提取的pdb文件,并查看了bin文件。  该文件的字符串指向此目录中的源文件:     C:\ ci_ws \ WS \ 1629 \源\ catel \ SRC \ catel / MVVM \ catel.mvvm.shared .. 所以我创建了一个以     C:\ ci_ws \ WS \ 1629 \源
并将catel文件夹下载到该目录,并从中重命名 “Catel-Develop”只是为了“Catel”,以便为pdb指向的位置提供支持。  为了实现目标,我还必须在VS中添加“符号文件(.pdb)位置”  选项 - > settings-> Debugging->符号..(位置/服务器列表)到nuget下载包的位置。  在我的情况下.. SolutionFolder \ Packages \ Catel.MVVM.3.9.0.1406062245-beta \ lib \ sl50 ..(我正在使用Silverlight)  然后我能够成功加载符号和步骤/中断到代码中..   也许我错过了一些东西并且有更好的方法,但这是对我有用的唯一方法..

现在仍然存在的唯一问题是:Catel Github源代码分支的名称是什么,它与Nuget目前正在发布的预发行版dll和pdb相匹配(3.9.0.1406062245)?  (我取消选中以下常规调试设置:要求源文件与原始版本完全匹配)

相关问题