即使安装了CF v3.5,MissingMethodException?

时间:2012-07-19 20:19:30

标签: c# windows-ce

我正在尝试构建&运行一些专有库来处理新的WinCE 5.0设备。我在不同的(6.0)设备上使用了相同的代码,没有任何问题。他们已经在世界各地的生产中工作,所以我肯定我做错了什么。 : - )

当我写最简单的代码时:

using System;
using System.Collections.Generic;
using System.Text;

namespace Contains
{
    public class Program
    {
        static void Main(string[] args)
        {
            String target = "one";
            String expose = "let me be the one";

            Console.WriteLine(expose.Contains(target));
        }
    }
}

...在运行时,我收到System.String.Contains的MissingMethodException。

我对此感到惊讶,因为msdn(http://msdn.microsoft.com/en-us/library/dy85x1sa(v=vs.80).aspx)表示自.NET以来已包含该方法2.0。我得到了相同的运行时异常,报告上面的代码是否为Framework Version 2.0或3.5。

FWIW,这不是唯一似乎缺少的方法,Environment.NewLine,StringBuilder.AppendFormat也会抛出相同的运行时异常。

cgautil在设备上报告[3.5.7283.0和2.0.7045.0]版本的Compact Framework。

1 个答案:

答案 0 :(得分:0)

您是否可以告诉我您是否在代码文件之上添加了命名空间系统。因为我看不出任何其他原因。你只需要使用。

使用System;

在代码文件的顶部,您可以使用它。如果你有3.5或两者都没关系。

使用它:

using System;


static void Main(string[] args)
{
    string target = "one";
    string expose = "let me be the one";

    Console.WriteLine(expose.Contains(target));
}