Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VS2015断点绑定成功,但在某些行绑定失败后_C#_Debugging_Visual Studio 2015_Dynamics Crm 2016_Ilmerge - Fatal编程技术网

C# VS2015断点绑定成功,但在某些行绑定失败后

C# VS2015断点绑定成功,但在某些行绑定失败后,c#,debugging,visual-studio-2015,dynamics-crm-2016,ilmerge,C#,Debugging,Visual Studio 2015,Dynamics Crm 2016,Ilmerge,在一个文件中,我可以将断点绑定到某个位置,但不能绑定到某个特定行之后 例如,我可以在函数的前x行中绑定,但如果试图进一步设置断点,我会得到“断点绑定失败”。如果我一步一步通过行,我只能做到我可以成功绑定的那一点 这是在我将程序集与ILMerge合并之后。在合并之前,它工作正常。符号加载成功(但在我手动右键单击模块并单击加载符号之后)。加载ilmerge提供的符号 使用反射,我可以验证I类是否可用(Newtonsoft JSON) 完整图片:若有任何区别,则在Dynamics CRM中使用程序集,

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

例如,我可以在函数的前x行中绑定,但如果试图进一步设置断点,我会得到“断点绑定失败”。如果我一步一步通过行,我只能做到我可以成功绑定的那一点

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

使用反射,我可以验证I类是否可用(Newtonsoft JSON)

完整图片:若有任何区别,则在Dynamics CRM中使用程序集,并将DLL发布到数据库。我正在使用远程调试器,如果这有区别的话

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

一幅画抵得上千言万语

合并细节
[XrmToolkit v4.5.2.1]--2017年5月29日。10:24:06--使用ILMerge合并程序集。。。
[XrmToolkit v4.5.2.1]--2017年5月29日。10:24:06--ILMerge输出目录:\ILMerge
[XrmToolkit v4.5.2.1]--2017年5月29日。10:24:06--使用ILMerge合并程序集。
[XrmToolkit v4.5.2.1]--2017年5月29日。10:24:06--ILMerge位置:C:\Program Files(x86)\Microsoft\ILMerge\ILMerge.exe
[XrmToolkit v4.5.2.1]--2017年5月29日。10:24:06--ILMerge输出路径:C:\Users\#removed#\Development\Source\CRM\#removed#removed#\bin\Debug\ILMerge\#removed#.dll
[XrmToolkit v4.5.2.1]--2017年5月29日。10:24:10:24:06-10:24:06-10:06-10-10:06-10-10:06-10:06-10:06-国际合并公司的合并公司的合并公司的合并公司的合并公司的合并公司的合并公司的合并公司的合并公司的合并公司的合并公司的合并公司的争论:/lib:“C:\用户”10 10:10:10:10 10:10:10:10 10:10:10:10 10:10:10 10 10:10:10 10:10 10 10:10:10-10 10 10 10 10:06:10:06-10-10 10:06-10:06-10-10:06-10-10:06-10:06-10:06-10:06-10:06-10:06-10-10-10:06-10-10-10:06-10-10-10:06-10-10-10-10-10:06-10:06-10-10-10-10-10-10-10-10-10/target:library/keyfile:“C:\Users\\ removed#\Development\Source\CRM\\ removed#removed#removed#snk”/copyattrs/targetplatform:v4,“C:\Program Files(x86)\Reference assemblemblems\Microsoft\Framework\.NETFramework\v4.5”/closed/log:“C:\Users\\ removed#removed#\Development\Source\CRM\\ removed#removed#removed#deloved#deloved#deloved##Debug#log#(3)删除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;去除;本周五周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四周四\用户用户\\用户\ \去除;移除;移除;移除;移除;取取取除除除除除除除除除除除除除除除周五周五周五周五周五周五周五周五周五周五周五周五\支付支付支付支付支付支付支付支付支付;本本本本本本本本周五周五周五周五周五周五周五周五周五\\\\\\本本本本本\调试调试\除除除除除除除除除除除除除除除除除除除除除除除除除役\调试\调试\调试\\\\调试\调试\IL合并合并\ \ \ \调试\调试\合并\ \ \ \调试lib\net45\Newtonsoft.Json.dll“

看起来它与第三方程序集有关


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

我假设您完成了清理,然后重新构建了解决方案?@Janis Veinbergs,您是在调试模式还是发布模式下编译应用程序?请确保使用最新版本VS2015版本,更新为3。@Fletchius,是的,我做了,但这并不能解决此问题。@Jackzai MSFT,是的,使用调试模式。已经在VS15U3(14.0.25431.01)上。远程调试器是14.0.25424.0。(也是U3),可能是因为我正在从NuGet(Newtonsoft.Json)导入dll吗?从NuGet获取包时我是否有符号?如果我不使用ILMerge,调试工作正常。@Janis Veinbergs,您可以访问“调试模块”窗口并在那里找到程序集,也许您可以在合并程序集之前或之后找到差异。此外,只需在B行之前的a行中添加一个断点,即可ldn未添加,然后在断点A被命中后使用F11(单步执行)对其进行调试,无论您是否可以单步执行B。我的理解是,它将与您合并的程序集相关,因为您可以在之前添加断点。
[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"