【发布时间】:2020-08-04 08:08:32
【问题描述】:
这真的很奇怪,有点难以解释,所以请跟我来。
我有一些非常基本的 c# 代码,它基于输入的字符串运行,然后将该字符串放入记录器中,然后用它进行一些搜索等。细节有些不重要。
因此,它不断抛出“索引超出数组边界”。即使出于测试目的我在使用它之前手动设置字符串数组,也会出错。
args[0] = "{XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}";
logger.Info("guid:" + args[0]); //Errors here
_fetchxml = _myApp.getFetchXml("fileguid", args[0], new Guid(), new Guid());
我什至只是尝试在刚刚说 var a = "a" 的记录器之前添加一行,但它在该行上给出了相同的错误,这让我认为它与构建有关?
我已经清理并重建了解决方案,但没有运气,希望这是有道理的。
【问题讨论】:
-
如果将
Debug.WriteLine(args.Length);放在这些代码行之前会发生什么? -
它会抛出同样的错误异常,但在
Debug.WriteLine行 -
没有调试输出?如果是这样,那么异常是完全从其他地方抛出的。
-
logger 是你写的自定义类的对象吗?如果是这样,请在 Info 方法中添加一个 try catch 并查看异常是否实际在 logger 中引发。
-
抱歉,
args[]是如何声明和启动的?您是在谈论args到Main功能吗?你试过用:if(args == null || args.Length == 0)吗?
标签: c# visual-studio dynamics-crm microsoft-dynamics