在一个文件中,我可以将断点绑定到某个位置,但不能在某个特定行之后。
例如,我可以在函数中绑定第一行x行,但是尝试进一步设置断点我得到"断点无法绑定"。如果我逐步执行行,我只能达到可以成功绑定的程度。
这是在我与ILMerge合并程序集之后。在合并之前它工作正常。符号已成功加载(但在我手动右键单击模块并单击加载符号后)。符号会被ilmerge提供加载。
使用反射我可以验证I ILMerged可用的类(Newtonsoft JSON)
完整图片:在Dynamics CRM中使用程序集,并将DLL发布到数据库,如果这有任何区别。我正在使用远程调试器,如果这有所不同。
我应该在哪里进一步挖掘?什么可能导致它表现得那样?
[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"
答案 0 :(得分:0)
看起来它与第三方ILMerged程序集有关。
为了使调试工作,我将第三方程序集部署到GAC并且没有合并,直到我想为部署构建一个发布版本,而不需要进行调试。