5

您如何调试您的 SharePoint 2007 代码?由于 SharePoint 在远程服务器上运行,并且我在 windows xp 机器上进行开发(将必要的 .dll 文件复制到我的 GAC 中),因此我没有找到简单的调试方法。断点不起作用等。

我想出的最好方法是在 web.config 文件中启用页面跟踪,在我的代码中写入跟踪消息,并在需要调试时访问 trace.axd。

有没有人有更好的调试建议?我错过了什么吗?

4

5 回答 5

3

来自Andrew Connell关于该主题的博文:

将调试器附加到 GAC 的程序集:“为什么我的断点没有被命中?!?!” 去过那里吗?我也是……那是什么皮塔饼!这是怎么回事?好吧,程序集在 GAC 中,Visual Studio 调试器看不到调试符号(又名:*.pdb)。除非您在设置所有 PDB 所在的符号存储区时遇到了麻烦,否则您需要将调试符号放在与程序集相同的位置。诀窍是在 GAC 中找到包含您的 DLL 的文件夹。

c:\windows\assembly 文件夹不是真正的文件夹,它是一个虚拟文件夹。要访问 REAL 文件夹,请执行以下操作:

  • 开始运行
  • %systemroot%\assembly\gac [ENTER]

这将打开 GAC 文件夹。现在,四处寻找,直到找到一个看起来像这样的文件夹(您可能需要跳到一个文件夹并深入到 MSIL 文件夹):[程序集文件名 -.DLL 扩展名][程序集版本,格式为 > #.#。 #.#]__[程序集公钥令牌]。

当你找到那个文件夹时,打开它,你会看到你的程序集。将 PDB 文件复制到该文件夹​​,然后附加调试器以获得一些调试乐趣!

于 2008-09-28T06:42:46.143 回答
3

最好的方法(即使是微软认可的方法)是拥有一台带有 Sharepoint 的 Windows 2003 Server 作为您的本地开发机器。

另请参阅此主题

于 2008-09-28T15:16:33.240 回答
2

不要将您的程序集放入 GAC,将它们放在 bin 目录中 - 然后您可以使用 VS 远程调试器。Google 创建用于分发的 .WSP 文件。

这还有一个优点,即在编译后(构建后步骤)更容易将新构建复制到服务器上,这也是提高安全性的推荐方法。

于 2008-09-29T05:25:29.407 回答
1

我建议您使用 Sharepoint 在 Windows 2003 服务器上进行开发。在远程服务器上调试很麻烦。如果您的工作站上有 XP,您可以在带有 VMWare 或 Virtual PC 的虚拟机中执行此操作。

于 2008-09-28T07:48:47.700 回答
1

虚拟机是唯一的出路。您不想将整台机器专用于开发(除非您有额外的东西)并且在生产服务器上进行开发只是自找麻烦。我更喜欢 VMWare,但还有其他的也可以。

跟踪与正常调试一样有效,这并不是一个真正的选择。

我要做的其他事情是尝试在常规的 asp.net 网站上开发所有逻辑(不依赖于 SharePoint 的东西),然后在测试后将其集成到 SharePoint 中。

希望这是有道理的。

您是在谈论开发 Web 部件吗?自定义页面?还有什么?

于 2008-09-28T08:03:06.963 回答