【问题标题】:Can't add .NET 4.0 Assembly Reference In MonoDevelop 2.4.1无法在 MonoDevelop 2.4.1 中添加 .NET 4.0 程序集参考
【发布时间】:2010-12-16 21:15:18
【问题描述】:

我已经安装了 MonoDevelop 2.4.1 和 Mono 2.8.1。 我的麻烦是我无法将程序集引用添加到为 .NET 4.0 编译的程序集(在同一个 MonoDevelop IDE 上)。

我在做什么。参考 -> 编辑参考 -> .NET 程序集 -> 浏览到文件并选择它

比 MD 显示一个错误,即我尝试添加的程序集不是 .NET 程序集。 我在各处都将配置文件设置为 .NET 4.0。

Reflector 可以很好地拆卸我的组件,所以没关系。 我的操作系统是 Windows 7 怎么了?

统一更新: 向 Novell 发布了一个错误。这里是https://bugzilla.novell.com/show_bug.cgi?id=659894

【问题讨论】:

    标签: .net-4.0 mono assemblies monodevelop


    【解决方案1】:

    当我执行"C:\Program Files\Mono-2.8.1\bin\mono.exe" "C:\Program Files\MonoDevelop\bin\MonoDevelop.exe" 时,问题就消失了。

    据了解,通过运行 MonoDevelop.exe,它可以在 Microsoft .NET 上运行,但问题是 MonoDevelop(.NET 2.0 程序集)无法识别使用 2.0 API 的程序集 (.NET 4.0)。

    让我们看看代码(MonoDevelop.Ide.Projects.AssemblyReferencePanel):

    private void SelectReferenceDialog(object sender, EventArgs e)
    {
        string[] array = new string[this.chooser.Filenames.Length];
        this.chooser.Filenames.CopyTo(array, 0);
        foreach (string str in array)
        {
            bool flag = true;
            try
            {
                AssemblyName.GetAssemblyName(Path.GetFullPath(str));
            }
            catch
            {
                flag = false;
            }
            if (flag)
            {
                this.selectDialog.AddReference(new ProjectReference(ReferenceType.Assembly, str));
            }
            else
            {
                MessageService.ShowError(GettextCatalog.GetString("File '{0}' is not a valid .Net Assembly", str));
            }
        }
    }
    

    AssemblyName.GetAssemblyName(Path.GetFullPath(str)); 行是万恶之源。 我将向 Novell 发布错误报告。还是不是bug?

    【讨论】:

    • 这是一个错误,请归档。我们应该使用 Mono.Cecil 来读取程序集名称,就像我们在核心运行时处理代码中所做的那样。
    • 好的。我会尽快做的。链接将在这里。顺便说一句,直接在单声道上运行 MD 不允许我构建我的项目,因为我的加载项之一抛出 TypeLoadExceptions :( 将等待修复
    • 迈克尔,感谢您修复错误!最近有 MonoDevelop 的 2.4.2 版本,但您的错误修复似乎不包括在内 - 问题仍然存在。你不知道什么时候发布修复这个错误?
    • 我没有向后移植它,但不久之后 MonoDevelop 2.6 测试版就出来了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多