我正在尝试将VS2010项目导入MonoDevelop。我将其更新到4.3.0版本,所以我很平常
/usr/lib/mono/4.0/Microsoft.Common.targets:警告:无法找到与目标框架名字对象'.NETFramework,Version = v4.0,Profile = Client'对应的框架。框架程序集引用将从GAC解析,这可能不是预期的行为。 (SlkRepair)
作为警告。但是,我遇到了这个错误:
'SlkRepair / SlkRepair / SlkLib.cs(28,28):错误CS1110:'SlkRepair.RegexEx.ContainsAny(this string,params char [])':扩展方法需要'System.Runtime.CompilerServices.ExtensionAttribute'类型可用。你错过了装配参考吗? (CS1110)(SlkRepair)
ContainsAny
功能的代码:
public static class RegexEx
{
public static bool ContainsAny(this string s, params char[] chars)
{
bool result = false;
foreach (char c in chars)
{
result |= s.Contains(c);
if (result)
break;
}
return result;
}
}
我的项目有这样的汇编参考:
尝试在编辑引用中添加引用无济于事 - 我找不到它。 任何人都可以解释什么参考,我应该如何添加?我是MonoDevelop的新手。
答案 0 :(得分:2)
首先需要在Visual Studio端修复的两个问题是,
Mono不支持客户端配置文件。因此,请确保在Visual Studio中使用完整配置文件而不是客户端配置文件。
您使用的Mono运行时(不是MonoDevelop)似乎太旧而无法支持.NET 4.5,因此发生ExtensionAttribute
异常。你必须至少使用Mono 3.2.8。要查看您拥有的Mono版本,只需在终端运行mono --version
即可。如果不使用任何4.5功能,也可以将项目降级到.NET 4.