VS2015 断点绑定成功但有些行绑定失败

VS2015 Breakpoint bind successful but after some rows failed to bind

在一个文件中,我可以将断点绑定到特定位置,但不能绑定到特定行之后。

例如,我可以在函数前 x 行内进行绑定,但尝试进一步设置断点时我得到 "The breakpoint failed to bind"。如果我遍历行,我只能做到我可以成功绑定的那一点。

这是我将程序集与 ILMerge 合并后的结果。在合并之前它工作正常。符号加载成功(但在我手动右键单击模块并单击加载符号之后)。加载 ilmerge 提供的符号。

使用反射我可以验证 class ILMerged 是否可用 (Newtonsoft JSON)

完整图片:Dynamics CRM 中使用程序集,DLL 发布到数据库(如果有任何区别)。如果这有所不同,我正在使用 Remote Debugger。

我应该在哪里进一步挖掘?是什么导致它出现这样的行为?

一图胜千言

ILMerge 详细信息

[XrmToolkit v4.5.2.1] -- <Info> -- 29.05.2017. 10:24:06 -- Merging the assemblies using ILMerge...
[XrmToolkit v4.5.2.1] -- <Info> -- 29.05.2017. 10:24:06 -- ILMerge Output Directory: \ILMerge
[XrmToolkit v4.5.2.1] -- <Info> -- 29.05.2017. 10:24:06 -- Using ILMerge to merge assemblies.
[XrmToolkit v4.5.2.1] -- <Info> -- 29.05.2017. 10:24:06 -- ILMerge location: C:\Program Files (x86)\Microsoft\ILMerge\ILMerge.exe
[XrmToolkit v4.5.2.1] -- <Info> -- 29.05.2017. 10:24:06 -- ILMerge output path: C:\Users\#removed#\Development\Source\CRM\#removed#\#removed#\bin\Debug\ILMerge\#removed#.dll
[XrmToolkit v4.5.2.1] -- <Info> -- 29.05.2017. 10:24:06 -- ILMerge arguments: /lib:"C:\Users\#removed#\Development\Source\CRM\#removed#\#removed#\bin\Debug" /lib:"C:\Users\#removed#\Development\Source\CRM\#removed#\packages\Microsoft.CrmSdk.CoreAssemblies.8.1.0.2\lib\net452" /lib:"C:\Users\#removed#\Development\Source\CRM\#removed#\packages\Microsoft.CrmSdk.Workflow.8.1.0.2\lib\net452" /target:library /keyfile:"C:\Users\#removed#\Development\Source\CRM\#removed#\#removed#\#removed#.snk" /copyattrs /targetplatform:v4,"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5" /closed /log:"C:\Users\#removed#\Development\Source\CRM\#removed#\#removed#\bin\Debug\ILMerge\#removed#.log" /out:"C:\Users\#removed#\Development\Source\CRM\#removed#\#removed#\bin\Debug\ILMerge\#removed#.dll" "C:\Users\#removed#\Development\Source\CRM\#removed#\#removed#\bin\Debug\#removed#.dll" "C:\Users\#removed#\Development\Source\CRM\#removed#\packages\Newtonsoft.Json.10.0.1\lib\net45\Newtonsoft.Json.dll" 

看起来与第 3 方 ILMerged 程序集有关。

为了调试工作,我将第 3 方程序集部署到 GAC 并且直到我想构建一个不需要调试的部署发布版本才合并。