如何修复int不包含int. tryparse()的定义



在我的新CF winform中,我突然无法编码int.TryParse(), VS显示消息'int' does not contain a definition for 'TryParse',但在另一种形式下,这是没有问题的。这么奇怪!

我用Go To Definition跟踪了这一点,旧形式使用int来自C:DOCUME~1XPMUserLOCALS~1Temp3464$CommonLanguageRuntimeLibrary$v2.0.50727System.Int32.cs,当然有TryParse(),而我的新代码使用int来自C:DOCUME~1XPMUserLOCALS~1Temp3464$mscorlib.dll$v2.0.50727System.Int32.cs,没有TryParse()

在项目的参考列表中,有一个mscorlib,通过双击我在mscorlib [Compact Framework]到达对象浏览器,而对象浏览器也显示了一个条目mscorlib,即没有CF注释。

这对我没有多大帮助,希望有人能帮助我得到TryParse()回来。

下面是错误示例代码:
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
namespace SIClient2.WebServices
{
    class Test
    {
        public Test()
        {
            int i;
            int.TryParse("123", out i); // <== 'int' does not contain a definition for 'TryParse'
        }
    }
}

没有错误的代码是winform的一部分。这有什么区别吗?

这是你周五下午不应该做的事情之一。该解决方案有几个项目:移动设备上的客户端,因此CF; web服务的服务器。还有一个测试项目,可以直接调用web服务,以便更容易调试,使用桌面winforms,即不使用CF,并使用int.TryParse()…我们也在努力升级到更现代的移动设备,希望能避免CF。

底线是VS不是那么糟糕,但也不是很容易。大多数错误都是指向实际问题的有效指针。另一方面,遗憾的是CF是如此有限,而今天的移动设备已经不再那么小巧了。

最新更新