.net 4.0 Can';t在MonoDevelop 2.4.1中添加.NET 4.0程序集参考

.net 4.0 Can';t在MonoDevelop 2.4.1中添加.NET 4.0程序集参考,.net-4.0,mono,assemblies,monodevelop,.net 4.0,Mono,Assemblies,Monodevelop,我已经用Mono2.8.1安装了MonoDevelop2.4.1。 我的问题是无法将程序集引用添加到为.NET4.0编译的程序集(在同一个MonoDevelop IDE上) 我在做什么。引用->编辑引用->.NET程序集->浏览到文件并选择它 Than MD显示一个错误,我试图添加的程序集不是.NET程序集。 我已将profile设置为.NET4.0 反射器很好地拆卸了我的组件,所以它是好的。 我的操作系统是Windows7 怎么了 UPD: 向Novell发布了一个bug。这里是当我执行时,“

我已经用Mono2.8.1安装了MonoDevelop2.4.1。 我的问题是无法将程序集引用添加到为.NET4.0编译的程序集(在同一个MonoDevelop IDE上)

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

Than MD显示一个错误,我试图添加的程序集不是.NET程序集。 我已将profile设置为.NET4.0

反射器很好地拆卸了我的组件,所以它是好的。 我的操作系统是Windows7 怎么了

UPD: 向Novell发布了一个bug。这里是当我执行
时,“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):

AssemblyName.GetAssemblyName(Path.GetFullPath(str))是万恶之源。

我要给novell发一份bug报告。还是不是bug?

是bug,请归档。我们应该使用Mono.Cecil来读取程序集名称,就像我们在核心运行时处理代码中所做的那样。我会尽快做的。链接将在这里。顺便说一句,在mono上直接运行MD不允许我构建项目,因为我的一个加载项抛出TypeLoadException:(将等待修复Michael,谢谢你的bug修复!最近MonoDevelop发布了2.4.2版,但你的bug修复似乎没有包括在内-问题仍然存在。你不知道什么时候该发布会修复这个bug吗?我没有备份它,但MonoDevelop 2.6测试版发布后不久就会出现。
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));
        }
    }
}