您如何调试您的 SharePoint 2007 代码?由于 SharePoint 在远程服务器上运行,并且我在 windows xp 机器上进行开发(将必要的 .dll 文件复制到我的 GAC 中),因此我没有找到简单的调试方法。断点不起作用等。
我想出的最好方法是在 web.config 文件中启用页面跟踪,在我的代码中写入跟踪消息,并在需要调试时访问 trace.axd。
有没有人有更好的调试建议?我错过了什么吗?
您如何调试您的 SharePoint 2007 代码?由于 SharePoint 在远程服务器上运行,并且我在 windows xp 机器上进行开发(将必要的 .dll 文件复制到我的 GAC 中),因此我没有找到简单的调试方法。断点不起作用等。
我想出的最好方法是在 web.config 文件中启用页面跟踪,在我的代码中写入跟踪消息,并在需要调试时访问 trace.axd。
有没有人有更好的调试建议?我错过了什么吗?
来自Andrew Connell关于该主题的博文:
将调试器附加到 GAC 的程序集:“为什么我的断点没有被命中?!?!” 去过那里吗?我也是……那是什么皮塔饼!这是怎么回事?好吧,程序集在 GAC 中,Visual Studio 调试器看不到调试符号(又名:*.pdb)。除非您在设置所有 PDB 所在的符号存储区时遇到了麻烦,否则您需要将调试符号放在与程序集相同的位置。诀窍是在 GAC 中找到包含您的 DLL 的文件夹。
c:\windows\assembly 文件夹不是真正的文件夹,它是一个虚拟文件夹。要访问 REAL 文件夹,请执行以下操作:
- 开始运行
- %systemroot%\assembly\gac [ENTER]
这将打开 GAC 文件夹。现在,四处寻找,直到找到一个看起来像这样的文件夹(您可能需要跳到一个文件夹并深入到 MSIL 文件夹):[程序集文件名 -.DLL 扩展名][程序集版本,格式为 > #.#。 #.#]__[程序集公钥令牌]。
当你找到那个文件夹时,打开它,你会看到你的程序集。将 PDB 文件复制到该文件夹,然后附加调试器以获得一些调试乐趣!
最好的方法(即使是微软认可的方法)是拥有一台带有 Sharepoint 的 Windows 2003 Server 作为您的本地开发机器。
另请参阅此主题。
不要将您的程序集放入 GAC,将它们放在 bin 目录中 - 然后您可以使用 VS 远程调试器。Google 创建用于分发的 .WSP 文件。
这还有一个优点,即在编译后(构建后步骤)更容易将新构建复制到服务器上,这也是提高安全性的推荐方法。
我建议您使用 Sharepoint 在 Windows 2003 服务器上进行开发。在远程服务器上调试很麻烦。如果您的工作站上有 XP,您可以在带有 VMWare 或 Virtual PC 的虚拟机中执行此操作。
虚拟机是唯一的出路。您不想将整台机器专用于开发(除非您有额外的东西)并且在生产服务器上进行开发只是自找麻烦。我更喜欢 VMWare,但还有其他的也可以。
跟踪与正常调试一样有效,这并不是一个真正的选择。
我要做的其他事情是尝试在常规的 asp.net 网站上开发所有逻辑(不依赖于 SharePoint 的东西),然后在测试后将其集成到 SharePoint 中。
希望这是有道理的。
您是在谈论开发 Web 部件吗?自定义页面?还有什么?