“公共语言运行库无法设置断点”

时间:2013-07-16 13:54:32

标签: visual-studio-2010 crm

我正在尝试从VS 2010开发CRM 2011中的解决方案。当它工作时,它有点好(CRM很好,但代码可以工作)。但是每隔一段时间它就会把它的玩具扔出婴儿车并拒绝调试。我当前遇到的问题是它在我的例程中某些行上抗议“公共语言运行库无法设置断点”。例如

private static TimeSpan FindWorkTime(DateTime T1, DateTime T2, Boolean[, ,] supporthours)
{
    TimeSpan SlotDuration = new TimeSpan(0, 30, 0);
    TimeSpan fwt = new TimeSpan(0); // This I can put a break point on
    if (T2 > T1)                    // This tells me the CLR can not set a breakpoint!
    {
        DateTime T1S = servicecase.FindTimeSlotStart(T1);
        DateTime T2S = servicecase.FindTimeSlotStart(T2);

代码未优化。工作室(或CLR或其他任何令人不安)的断点决定实际识别它们的工作。那么为什么在地球上做一些线而不是其他线只是拒绝调试!

我在这里搜索过,大多数答案都涉及优化(不是)或运行两个工作室副本(不是这样)。

1 个答案:

答案 0 :(得分:0)

终于解决了。答案当然是CRM是一堆......

正在运行的代码不是已部署到crm服务器的代码。尽管服务器上只有一个版本的DLL,并且它与开发系统上的版本相同,但它不是在服务器上运行的代码版本。 CRM运行的代码似乎是来自DLL的代码或来自数据库的副本,它不一定与DLL中的副本相匹配。无论出于何种原因,即使重新部署了代码,CRM似乎仍然希望从数据库中获取旧副本。为了稳定除了部署代码之外,还需要通过插件注册工具重新注册。

(这花了很长时间才找到,因为我认为CRM会让我觉得什么是不诚实的,最好的解决方案就是用CRM以外的东西重写应用程序)