Cake中的Using语句

4

我正在尝试在Cake中使用using语句,以便我可以使用Regex类。

这是我尝试使用的代码行:

var matchesFromBranch = Regex.Matches(gitBranch, jiraPattern, RegexOptions.IgnoreCase).Select(m => m.Value).Distinct();

这给了我以下错误:
``` .../build.cake(43,25): error CS0103: 当前上下文中不存在名称“Regex” .../build.cake(43,63): error CS0103: 当前上下文中不存在名称“RegexOptions” ```
所以,我在文件顶部加入了 `using System.Text.RegularExpressions;`,现在我得到了以下错误:
``` .../build.cake(43,25): error CS0433: 类型 'Regex' 存在于两个位置:'System.Text.RegularExpressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 和 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' .../build.cake(43,63): error CS0433: 类型 'RegexOptions' 存在于两个位置:'System.Text.RegularExpressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 和 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' ```

你能提供一下你的 web.config 文件内容吗? - D-Shih
如果使用完全限定名称而不是using会发生什么?var matchesFromBranch = System.Text.RegularExpressions.Regex.Matches(gitBranch, jiraPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase).Select(m => m.Value).Distinct(); - Jonathon Chase
2
@D-Shih,我没有web.config文件。这个和什么有关系? - Sam Debruyn
@Jonathan Chase:这也是我第一个猜测,但它给了我相同的错误。 - Sam Debruyn
1个回答

0

请检查 tools/Cake 文件夹并删除任何对 System.Text.RegularExpressions 程序集的引用,然后重新运行您的引导脚本。

甚至可以直接删除 tools 文件夹并重新运行引导程序。


我删除了tools文件夹,执行了git clean -dfx以确保,但仍然出现了那些错误。我是否需要使用using语句? - Sam Debruyn
是的,你需要使用该命名空间的 using 语句。 - J.P.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接