0

我有一个带有 Service.svc 文件的网站,我使用 Add New Item -> AJAX-enabled WCF Service 创建了它,几周以来,一切正常。今天,我导入了 EPplus.dll 来生成一些 excel 文件。当我尝试编译时出现此错误

Error   1   Reference.svcmap: 
Failed to generate code for the service reference 'QUAY.Tractebel.COP.Servicos'.
Cannot import wsdl:portType  Detail: An exception was thrown while running a WSDL import extension:
System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: Type 'OfficeOpenXml.ExcelRangeBase' is a recursive collection data contract which is not supported. 
Consider modifying the definition of collection 'OfficeOpenXml.ExcelRangeBase' to remove references to itself.  
XPath to Error Source: //wsdl:definitions[@targetNamespace='']/wsdl:portType[@name='Servicos']  App_WebReferences/QUAY/Tractebel/COP/Servicos/  

我不知道如何解决它,有人可以帮助我吗?

4

1 回答 1

3

在引用我使用的自定义 wcf 类时遇到了同样的问题。奇怪的问题是在我的旧开发电脑(windows vista 32bit,visual studio 2010)上我没有遇到这个问题,它只在我的新系统(windows 8 64bit)中弹出。呸。

但是,我绕过了打开 App_WebReferences 的问题->“您的服务名称”-> 右键单击​​依赖的参考图标->“配置服务参考”

在此屏幕中,将选项按钮从“在所有引用的程序集中重用类型”移动到“在指定的程序集中重用类型”并检查所有依赖库,除了 EPPlus

编译并...瞧

如果有人也有逻辑解释,我很乐意听

于 2013-01-05T16:39:39.213 回答