在为WCF服务添加服务引用时,VS 2010错误“对象引用未设置为对象的实例”

问题描述 投票:7回答:7

我有一个VS2010(RTM)解决方案,其中包含:

WCF服务项目 控制台WCF客户端项目 DataContracts和成员的类项目 一些简单类的类项目

我在控制台客户端项目中成功添加了服务引用并运行了客户端。然后我做了一个很长的开发循环,反复修改服务,然后更新控制台服务引用。然后,我使用引用和app.config更改了项目的命名空间和程序集名称以及.cs。我当然错过了一些因为它不会构建的东西所以我最终删除了项目引用和服务引用,成功清理和构建。

然后,我尝试再次添加服务引用,它发现了它,但是在确定时将“对象引用未设置为对象的实例”。修复以下答案...

visual-studio-2010 wcf service-reference
7个回答
6
投票

如果您尝试向项目添加服务引用,但在同一项目中存在已卸载的另一个项目,则会出现此问题。例如,您可以使用以下步骤重现:

  1. 创建两个单独的WCF服务项目Service1和Service2
  2. 创建一个客户端项目,并在Service1项目中向服务添加服务引用
  3. 卸载Service1项目
  4. 在客户端项目中,尝试在Service2项目中添加对服务的引用 - 您将收到上述错误

虽然这不应该发生,因为服务是独立的,但修复是在添加对Service2的引用时重新加载Service1项目。


6
投票

发布我自己的修复,因为我在其他地方找不到它:

Stackoverflow'ing /谷歌搜索没有让我到任何地方,所以我最终在记事本中打开了解决方案文件,发现引用我的控制台项目的条目对WCF服务项目有一个项目依赖。

删除ProjectSection后,我能够添加服务引用并重新开始工作。

在尝试重现问题时,将服务引用添加到项目会添加服务项目依赖项,但删除服务引用则不会。我认为更改命名空间是它找不到依赖引用的罪魁祸首?


2
投票

服务和客户端之间存在现有的项目依赖关系。右键单击Consumer Project - > Project Dependencies;取消选中Consumer和Service之间的依赖关系。 (这将删除消费者的任何内部对象或引用)

重试:添加服务引用。


1
投票

对于有这个问题并且没有帮助上述方法的任何人:看看UI部分是否有一些数据绑定(在我的情况下,它是silverlight客户端上的数据网格控件)ymmv另外,如果你有一个服务客户端,那么绑定在这种形式下,可能会以_Completed方法的形式出现,仔细研究一下,看看你是否遗漏了一些应该存在的数据/参数。心连心


1
投票

从“添加/删除程序”中卸载所有版本的Silver light SDK(Silverlight,Silverlight3等)和Silverlight工具。重新安装应该解决问题的Silverlight工具。


0
投票

删除并重新添加服务引用。简单但对我有用。

导致“对象引用”错误的原因只是将服务引用端点URL从本地更改为我的开发服务器。除了这一次之前从未遇到过这个问题。


0
投票

我在vs17中的问题(对象引用未设置为对象的实例):

所以,我在vs2015中重命名了Project,但是没有重命名该项目所在的文件夹。当我在vs2017中打开它并尝试添加WCF服务时,单击OK后我将找不到对象引用。

我的修复:

所以,我从解决方案中卸载了项目文件并重命名了项目文件夹以匹配项目文件,将项目重新加载到vs2017的解决方案中,现在我可以“添加WCF服务”了!

© www.soinside.com 2019 - 2024. All rights reserved.