单声道编译错误 - 无法加载类型' System.Runtime.CompilerServices.ReferenceAssemblyAttribute'来自汇编'系统'

时间:2012-01-15 20:26:35

标签: c# mono

我在编译CSharp Mono应用程序时遇到了问题。

我的单声道版本是2.10.2

这是我收到的错误

  

在程序集/home/tmc/AcctTerm/System.dll中缺少方法.ctor,键入System.Runtime.CompilerServices.ReferenceAssemblyAttribute   找不到自定义attr构造函数图像:/home/tmc/AcctTerm/System.dll mtoken:0x0a000054

     

未处理的异常:System.TypeLoadException:无法从程序集“System”加载类型“System.Runtime.CompilerServices.ReferenceAssemblyAttribute”。     at conAccountTerminator.cjcAccountTerminator..ctor()[0x00000] in:0     at conAccountTerminator.MainClass.Main(System.String [] args)[0x00000] in:0

有什么想法吗?

编辑:添加代码;

using System;
using System.Net;
using System.Collections;
using System.Web;
using System.Text;
using System.IO;
using MySql;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Security;
using System.Security.Authentication;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Data;
using System.Xml;

namespace conAccountTerminator
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            cjcAccountTerminator cjcAccountTerm = new cjcAccountTerminator();

            switch (args[0])
            {
                case "update":
                    cjcAccountTerm.LoginToMyBilling();
                    break;
                case "notepad":
                    cjcAccountTerm.UpdateCustomerData(args[1], args[2]);
                    break;
                case "terminate":
                    cjcAccountTerm.TerminateAccount(args[1]);
                    break;
            }
        }        
    }
}

1 个答案:

答案 0 :(得分:4)

ReferenceAssemblyAttribute是最近的属性,首次见于FX 4.0。

请确保您使用的是Mono 'dmcs编译器(或mcs-sdk=4),以确保您链接的版本为mscorlib.dll(4.0)属性存在。