2012-11-14 22 views
1

我使用.NET Framework 4.5。 创建一个新的项目WCF,它已经有一个使用CompositeType的例子。 然后创建控制台和ASP.NET MVC 4应用程序。两个项目中都增加了服务参考。 为什么在项目中ASP.NET MVC 4生成一个空的类(参考)?如果在服务界面中删除CompositeType,那么一切都很好。在控制台应用程序中不存在这样的问题,并且一切都正确创建。ASP.NET MVC中的CompositeType

回答

0

这是VS 2012中的一个已知问题。在修复程序可用之前,您可以使用以下解决方法来使您的工作正常工作。看看这个博客。

http://blogs.msdn.com/b/praburaj/archive/2012/08/23/add-service-reference-adding-empty-reference-cs-in-mvc-4-projects-of-vs-2012.aspx

在VS 2012 MVC 4个项目,都在使用“添加服务引用”对话框中添加一个服务引用WCF服务,你找到一个空reference.cs文件?

这里是你可以做些什么:

检查您的错误选项卡显示了一些错误,如...

警告1个自定义工具警告:无法导入WSDL:portType的

详细信息:在运行一个WSDL进口延期已引发异常:System.ServiceModel.Description.DataContractSerializerMessageContractImporter

错误:类型“Newtonsoft.Json.Linq.JToken”是不是一个递归收集数据的合同 支持的。考虑修改集合'Newtonsoft.Json.Linq.JToken'的定义以删除对自身的引用。

的XPath错误来源://wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IService1' ]

如果是这样,您可以的周围,使用了以下工作:

  1. 中的添加服务引用对话框 - > [高级...] - >中引用的组件重用类型(默认选中) - >选择非默认的“重用类型在指定的引用程序集的收音机 - >请确保您从列表中排除Newtonsoft.Json.dll。尝试立即添加服务引用并查看成功。

  2. 另外,您可以删除此Newtonsoft.Json.dll的引用而产生的代理,并添加回来后代理生成完毕。

+0

非常感谢。 – user1823749