【问题标题】:VS Project Migration Errors in MonoDevelopMonoDevelop 中的 VS 项目迁移错误
【发布时间】:2014-04-09 07:03:27
【问题描述】:

我正在尝试将 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;
    }
}

我的项目有这样的程序集引用:

  • 系统
  • System.Core
  • System.Data
  • System.Data.DataSetExtensions
  • System.Xml
  • System.Xml.Linq

尝试在编辑参考中添加参考没有帮助 - 我找不到它。 谁能解释什么参考以及我应该如何添加?我是 MonoDevelop 的新手。

【问题讨论】:

    标签: c# .net mono


    【解决方案1】:

    您需要首先在 Visual Studio 方面解决两个问题,

    1. Mono 不支持客户端配置文件。因此,请确保在 Visual Studio 中使用完整配置文件而不是客户端配置文件。

    2. 您使用的 Mono 运行时(不是 MonoDevelop)似乎太旧而无法支持 .NET 4.5,因此会出现 ExtensionAttribute 异常。您至少必须使用 Mono 3.2.8。要检查您拥有的 Mono 版本,只需在终端运行 mono --version。如果您不使用任何 4.5 功能,您也可以将项目降级到 .NET 4。

    【讨论】:

    • 谢谢!但是,它确实是 4.0,所以我只是将平台调满。它会构建。
    猜你喜欢
    • 2016-06-16
    • 2017-07-17
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多