2011-04-07 43 views
25

我想移民我国从NET 3.5的网站4,我遇到了一个很奇怪的问题“是不是被语言支持”。C#错误迁移后.NET4

在3.5工作得很好

代码不会再一次,我的目标.NET4,给我的错误

“XXX不被支持的语言”。

TimeZoneInfo tzi = !calendarItem.UseUserTimeZone ? user.Settings.TimeZoneInfo : l.TimeZoneItem.Info; 

在该行上的码的错误显示的“.TimeZoneInfo”和“.Info”既类型的“System.TimeZoneInfo”。

定义的

user.Settings.TimeZoneInfo属性是:

定义的 l.TimeZoneItem.Info
public TimeZoneInfo TimeZoneInfo 
{ 
    get { return World.TimeZones[Convert.ToInt32(this[Setting.TimeZoneInfo])].Info; } 
    set { this[Setting.TimeZoneInfo] = value.ToTimeZoneItem().Id.ToString(); } 
} 

属性是:

public TimeZoneInfo Info 
{ 
    get { return info; } 
} 

不是真的知道什么是怎么回事。请帮助那个人。

+27

我有这种情况发生的时候我没有清除我的bin目录,并在一定大会将不参考失踪由于某种原因得到重建...手动从bin目录中删除它,但做到了。 – 2011-04-07 02:04:09

+2

同意约翰......清理你的构建。确保垃圾箱中没有东西,然后重新进行重建。多数民众赞成我上次如何解决它。 – sajoshi 2011-04-07 02:26:57

+0

这有助于将问题缩小到我们正在使用的第三方装配。我试图找到.Net 4兼容版本。我会回复w /我的发现。 – Lancelot 2011-04-07 15:58:01

回答

1

这可能有助于以不同的方式调用属性字段。因为TimeZoneInfo也是System命名空间中的一个类。

+3

明确允许属性与它们“包含”的类型具有相同的名称。 – 2011-04-07 08:57:00

+0

他并不是说这个问题与属性和类型名称之间的不确定性有关,而是因为TimeInfoZone也位于(相当全局的)'System'命名空间中。 – ReFocus 2011-05-04 12:01:42

19

这也可能是组装的不一致性问题。 当我想要使用与另一个项目创建循环引用的程序集时,我遇到了此问题。一旦我修复了这个循环引用问题,错误就不再出现。

5

这在较低的库使用不同的versionof .NET框架也会发生。有一个类似的问题,当我更新下层库到3.5框架和实际库到3.5框架问题消失了。

1

类同乔纳森·佩里的回答,在我来说,我有一个老组装,而不是编译一个参考。我删除了引用,并再次指向正确的dll。

0

与此处的其他类似,如果引用的程序集针对的是'任何CPU',而当前程序集针对'任何CPU'将导致该问题(至少在64位机器上)。

1

一些其他职位的相似,在我来说,我完全缺少的程序集的引用。它不是直接从我正在使用的项目中访问,而是在另一个我参考的链接项目中访问。

0

也会发生这种情况时,组件是由一些其他组件项目