MonoDevelop中的VS项目迁移错误
本文关键字:迁移 错误 项目 VS 中的 MonoDevelop | 更新日期: 2023-09-27 17:57:42
我正在尝试将VS2010项目导入MonoDevelop。我把它更新到了4.3.0版本,所以我得到了普通的
//usr/lib/mono/4.0/MMicrosoft.Common.targets:警告:找不到与目标框架名称对象".NETFramework,Version=v4.0,Profile=Client"对应的框架。将从GAC解析框架程序集引用,这可能不是预期行为。(SlkRepair)
作为警告。然而,我遇到了这个错误:
"SlkRepair/SlkRepair/SlkLib.cs(28,28):错误CS110:"SlkRepair.RegexEx.ContainsAny(此字符串,params char[])":扩展方法需要"System.Runtime.CompilerServices.ExtensionAttribute"类型可用。是否缺少程序集引用?(CS110)(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;
}
}
我的项目有这样的汇编参考:
- 系统
- System.Core
- 系统数据
- System.Data.DataSetExtensions
- System.Xml
- System.Xml.Linq
尝试在"编辑引用"中添加引用没有帮助——我找不到它。有人能解释一下参考资料是什么吗?我应该如何添加?我是MonoDevelop的新手。
在Visual Studio方面首先需要解决的两个问题是,
-
Mono不支持客户端配置文件。因此,请确保在VisualStudio中使用完整的配置文件,而不是客户端配置文件。
-
您使用的Mono运行时(而非MonoDevelop)似乎太旧,无法支持.NET4.5,因此出现了
ExtensionAttribute
异常。您必须至少使用Mono 3.2.8。要检查您拥有的Mono版本,只需在终端运行mono --version
。如果不使用任何4.5功能,您也可以将项目降级为.NET 4。