在我的新 CF winform 中,我突然无法编写 int.TryParse()
代码,VS 显示消息 'int' does not contain a definition for 'TryParse'
,但在另一种形式下,这没问题。太奇怪了!
我通过 Go To Definition 追踪到这一点,旧形式使用 C:\DOCUME~1\XPMUser\LOCALS~1\Temp\3464$CommonLanguageRuntimeLibrary$v2 中的
当然有 int
.0.50727\System.Int32.csTryParse()
,而我的新代码使用 C:\DOCUME~1 中的
,其中没有 int
\XPMUser\LOCALS~1\Temp\3464$mscorlib.dll$v2.0.50727\System.Int32.csTryParse()
。
在项目的引用列表中,有一个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的局限性很大,而今天的移动设备已经不再那么娇小了。
关于c# - 如何修复 int 不包含 int.TryParse() 的定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22563766/