没有为此文档加载任何符号。调试Dynamics AX的.NET代码

时间:2017-04-13 11:26:29

标签: debugging visual-studio-2013 axapta dynamics-ax-2012-r3

我正在尝试学习如何在Dynamics(AX 2012 R3)和Visual Studio之间进行调试。但由于某种原因,我无法在Visual Studio中触发任何断点。

我已经搜索了一天多的时间,至少尝试过以下的事情(我老老实实地失去了轨道):

  • 确保我编译为DEBUG
  • 确定DEBUG和TRACE常量已定义。
  • 未选中"启用我的代码"
  • 未选中"要求源文件与原始版本"
  • 完全匹配
  • 已选中"使用托管兼容模式"
  • 编译,清理,重建
  • 从用户的AppData VSAssemblies文件夹中删除了dll
  • 将Visual Studio手动附加到AX32.exe
  • 让Visual Studio在调试时打开它自己的AX32.exe实例
  • 使用提升的权限运行Visual Studio。
  • 在AOT中编译项目
  • 未在AOT中编译项目
  • 删除并重新将项目添加到AOT

我的设置如下:

  • Dynamics AX 2012 R3
  • Visual Studio 2013
  • Windows 10客户端
  • 服务器上的AOS(非本地)

我不知道还有什么可以尝试的。我发现哪些示例和解决方案要么没有问题,要么适用于我没有的其他版本和参考设置。或者我尝试了它们并没有帮助......

编辑1:我已经能够拼凑一点了。显然,"部署" Visual Studio中的函数绝对没有任何功能。为了使我的项目(和依赖的X ++代码)能够工作,我需要:

  1. 打开AX客户端
  2. 在那里编译项目(这会将DLL放入服务器文件夹中)
  3. 重新启动AX客户端(这会将DLL放入客户端文件夹)
  4. 编译所有相关更改
  5. 如果我然后希望能够调试它,我需要使用本地编译的dll + pdb文件覆盖这两个位置。

    对我而言,这似乎不是一种做事的好方法。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

你有很多步骤,但我发现了一个明显错误的步骤。

Manually attached Visual Studio to AX32.exe

即客户端,您需要附加到服务器部分AX32Serv.exe。有一个复选框,上面写着"显示所有流程"或其他什么,你需要从AOS做。

请参阅:https://msdn.microsoft.com/en-us/library/gg860898.aspx