在使用VS2003 或者#DEVELOP 编译#c 工程为dll的时候出现“超出编译器限制: 行不能超过2046个字符”如何解决?能否调整编译器的限制?我在 查到的结果,编译器限制好像远大于2046编译器选项 C# 编译器错误 编译器错误 CS1034 (C#) Visual C# 参考:错误和警告? 编译器错误 CS1034? 错误消息 超出编译器限制: 行不能超过“number”个字符 一行中所允许的字符数限制为 16,777,214 个。
而且这个工程我是从其他人编译好的dll中反编译出来的,再编译回dll就不行了。

解决方案 »

  1.   

    我在 查到的结果,编译器限制好像远大于2046
    -------------------------
    编译器是有这个限制的  我记得vb.net里面好像1024就不行了
    既然编译器这么规定了,那你只有换行了
      

  2.   

    觉得不是行文字个数的问题。刚才试了下面这样的代码,共2062个字符,没有问题。
    string a = "1" + "2" + "3" + "4" + "5" + ......... "1" + "2" + "3" + "4" + "5";
      

  3.   

    出错的行都是 string text1=*********************
                 text1=test1+"*********************"
                 text1=test1+"*********************"
                 text1=test1+"*********************"
    ****** 的内容形如 \t\u9009\u65e5\u6846 这样的内容。是否是汉字转换得来的?导致了行超长?如何把这种字符转换回汉字?就不会超过限制了。
    因为不止一个cs文件里面有超过限制的行,逐一修改太麻烦了。
      

  4.   

    你用的reflector?
    那么加一个插件 即可
    http://www.onlinedown.net/soft/41853.htm
      

  5.   

    在线的msdn查到CS1034是:
    超出编译器限制 : 行不能超过“number”个字符
    一行中所允许的字符数限制为 2046 个。VS2005的msdn查到CS1034是:
    超出编译器限制 : 行不能超过“number”个字符
    一行中所允许的字符数限制为 16,777,214 个。LZ查查代码,看看有没有多余空格什么的?
      

  6.   

    hertcloud(·£孙子兵法£·) 的应该是正解吧,期待楼主验证。2003 一行中所允许的字符数限制为 2046 个
    2005 一行中所允许的字符数限制为 16,777,214 个。
    学到了。