运行 来自 Visual Studio 的 C# 项目与可执行文件有不同的行为

Running C# project from Visual Studio has different behavior from executables

我制作了一个正则表达式解析器,在各种功能中,您还可以看到 DataGridView 填充了捕获组及其编号和模式。根据the documentation:

Captures that use parentheses are numbered automatically from left to right based on the order of the opening parentheses in the regular expression, starting from one. The capture that is numbered zero is the text matched by the entire regular expression pattern.

现在,如果我 运行 来自 VIsual Studio 的应用程序,我会在 运行 在文件夹 \bin\Debug 或 [=] 中生成可执行文件时得到我期望看到的内容26=] 某些组的顺序是错误的。见下图。示例中使用的模式是 ^([^$]*($[^$]*$)*[^$]*($[^$]*))([AB])(([^$]*$)[^$]*($[^$]*$)*[^$]*)$.

为什么会发生这种情况,我该如何解决?

编辑:已解决原项目是用 .Net 4.0 编译的,我用 4.5 版重新编译,现在运行良好。

原项目是用.Net 4.0编译的,我用4.5版本重新编译,现在可以正常运行了。