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

时间:2014-03-21 16:07:33

标签: c# winforms visual-studio-2008 compact-framework

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

我使用“转到定义”跟踪了这一情况,旧表单使用int中的C:\DOCUME~1\XPMUser\LOCALS~1\Temp\3464$CommonLanguageRuntimeLibrary$v2.0.50727\System.Int32.csTryParse()当然有int,而我的新代码使用C:\DOCUME~1\XPMUser\LOCALS~1\Temp\3464$mscorlib.dll$v2.0.50727\System.Int32.cs TryParse(),没有mscorlib

在项目的引用列表中,有一个mscorlib [Compact Framework],双击我到达mscorlib的对象浏览器,而对象浏览器也显示一个条目{{1没有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的一部分。这会产生差异吗?

1 个答案:

答案 0 :(得分:1)

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

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