首页 文章

无法在MonoDevelop 2.4.1中添加.NET 4.0程序集参考

提问于
浏览
6

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

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

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

反射器拆卸我的组件很好,所以没关系 . 我的操作系统是Windows 7有什么问题?

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

1 回答

  • 5

    当我做 "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)); 是所有邪恶的源头 . 我'm going to post a bug report to novell. Or it'不是一个错误?

相关问题