wpf 编译错误:'类型或命名空间名称'Runtime'在命名空间' MyAppNamespace.System '中不存在(是否缺少程序集引用?)'

a5g8bdjr  于 2023-04-07  发布在  其他
关注(0)|答案(7)|浏览(232)

我正在编写一个WPF客户端,它使用来自ASP Web服务的服务(VS2010,.net 4.0)。它一直工作得很好,直到昨天我突然得到上面的编译器错误。双击错误将我带到Reference.cs并突出显示以下内容:
[System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false,Order=2)]
(The“Runtime”对象突出显示为不在MyAppNameSpace中)。
我试着在谷歌上搜索这个,重新添加服务引用,重新添加assemby引用,但没有任何效果,我完全卡住了。Reference.cs是自动生成的,我对VS2010还比较陌生,所以我不知道该怎么做。
希望这里有人能给我指个方向...?

pftdvrlh

pftdvrlh1#

我也遇到了同样的问题。在花了几个小时试图解决这个问题后,我意识到我的图书馆里有一门叫做系统的课。真是个混蛋。

nc1teljy

nc1teljy2#

你的问题是,你已经定义了一个“系统”命名空间,编译器和智能感知在真实的的“系统”之前找到了它。解决方案是删除违规的命名空间,然后清理并重建项目。

ua4mk5z4

ua4mk5z43#

我在VB项目中遇到了同样的问题,只是我没有旧代码,因为它是一个新的服务引用。我没有任何其他名称空间中的System。对我来说,解决方案是进行以下一系列替换:
Reference.vb中的VB
1.将System.替换为空
1.然后将"Runtime.Serialization"替换为"System.Runtime.Serialization"
1.最后,将<Global.ComponentModel替换为<ComponentModel

**C#**in Reference.cs(我没有尝试过,但希望它能工作)

1.将System.替换为空
1.然后将"Runtime.Serialization"替换为"System.Runtime.Serialization"
1.最后,将[Global.ComponentModel替换为[ComponentModel
另一个可能导致根本原因的细节是,服务wsdl来自老式的asp.netWeb服务(.asmx),如下所示:https://api.mindbodyonline.com/0_5/ClassService.asmx?wsdl

更新我随后发现,将目标框架更改为4.5.1解决了我的编译问题。另外,我的根本原因是我的Web项目和包含我的服务引用的类库针对的是不同的框架版本。一旦我将它们全部更改为4.5.1,一切都很高兴,不需要更改Reference.vb。

wh6knrhe

wh6knrhe4#

好吧,为了任何人在未来寻找答案的缘故-我放弃了试图修复它,并复制了项目文件的备份在现有的,并带来了更改,因为他们在手动.这修复了损坏的引用问题.

z6psavjg

z6psavjg5#

我遇到了类似的问题,但有不同的解决方案。
我的项目以前叫做“JobRunner”,但是它变成了“NGB.JobRunner”。然而在项目设置中,默认的命名空间和程序集名称仍然是“JobRunner”,并且Reference.cs文件是用这个命名空间生成的。
我不知道为什么它会导致问题,但是当我修复了默认的项目名称空间和程序集名称,并重新添加了服务引用时,问题解决了!

gab6jxml

gab6jxml6#

我遇到了类似的问题。是大写的'T'在时间上导致了这个问题。我正在运行时,但正确的是'运行时'。
由于一个错字,真是浪费时间!!

ffscu2ro

ffscu2ro7#

您需要使用**global**关键字。这将强制命名空间解析从最顶部开始。

global::System.Runtime;

一些文档:https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/namespace-alias-qualifier

相关问题