我面临一个非常奇怪的问题,即使经过数小时的研究,我也无法理解,这就是我分享这个问题的原因。
我创建了一个小型Windows窗体,它在我的计算机上运行完美,包括Debug版本和发行版本。一切都很好,直到我试图在应该真正使用它的计算机上启动它。我得到了着名的 CLR20r3 错误,所以我在互联网上搜索并看到了各种可能的原因:
但这些解决方案都没有奏效。经过数小时和数小时的试验,汇编和研究,我找到了原因:我的代码中有这个特定部分,它应该从日志字符串中删除任何多余的空格:
for(int i = 0; i < lastlogs.Length; i++)
{
RegexOptions options = RegexOptions.None;
Regex regex = new Regex("[ ]{2,}", options);
lastlogs[i] = regex.Replace(lastlogs[i], " ");
}
如果我注释掉这部分,代码运行完美。我添加了对System.Text.RegularExpressions
的引用,但我无法在程序集列表中看到它,所以我认为它是某种内置Windows程序集。但如果情况确实如此,软件崩溃是因为它无法找到它而感到奇怪...
我想了解为什么会发生这种崩溃,以及是否有人有办法解决这个问题。