在我的新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.cs
,TryParse()
当然有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的一部分。这会产生差异吗?
答案 0 :(得分:1)
这是周五下午你不应该做的事情之一。该解决方案有几个项目:移动设备上的客户端,因此CF.用于Web服务的服务器。还有一个测试项目直接调用Web服务以便于调试,使用桌面winforms,即没有CF,以及使用int.TryParse()... :-)我们还在努力升级到更现代化的移动设备避免CF。
底线是VS并不是那么糟糕,但也不是很容易。大多数错误都是指向实际问题的有效指针。另一方面令人遗憾的是,CF是如此有限,而今天的移动设备已不再那么娇小。