首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怪哉! 什么叫做“自定义工具异常”,WHY?

2012-09-29 
怪哉!!! 什么叫做“自定义工具错误”,WHY???今天更新引用的“WCF”服务,服务可以更新,但是更新完提示出错误信

怪哉!!! 什么叫做“自定义工具错误”,WHY???
今天更新引用的“WCF”服务,服务可以更新,但是更新完提示出错误信息:“自定义工具错误”。

错误 197
自定义工具错误: 无法生成服务引用“MyChartsService”的代码。请检查其他错误和警告信息,了解详细信息。
C:\Users\Administrator\Desktop\Tj2.0\MyCharts\Service References\MyChartsService\Reference.svcmap
1 1 MyCharts

问题:WCF更新成功,但是生成代理类的时候报错了,WHY???


“Reference.svcmap”文件如下:

<?xml version="1.0" encoding="utf-8"?>
<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="9b4f0e3c-198c-4c4e-84c7-ebfc160a8707" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
  <ClientOptions>
  <GenerateAsynchronousMethods>true</GenerateAsynchronousMethods>
  <EnableDataBinding>true</EnableDataBinding>
  <ExcludedTypes />
  <ImportXmlTypes>false</ImportXmlTypes>
  <GenerateInternalTypes>false</GenerateInternalTypes>
  <GenerateMessageContracts>false</GenerateMessageContracts>
  <NamespaceMappings />
  <CollectionMappings>
  <CollectionMapping TypeName="System.Collections.ObjectModel.ObservableCollection`1" Category="List" />
  </CollectionMappings>
  <GenerateSerializableTypes>false</GenerateSerializableTypes>
  <Serializer>Auto</Serializer>
  <UseSerializerForFaults>true</UseSerializerForFaults>
  <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
  <ReferencedAssemblies />
  <ReferencedDataContractTypes />
  <ServiceContractMappings />
  </ClientOptions>
  <MetadataSources>
  <MetadataSource Address="http://localhost:29787/Mycems.UI/ChartsService.svc" Protocol="http" SourceId="1" />
  </MetadataSources>
  <Metadata>
  <MetadataFile FileName="ChartsService.xsd" MetadataType="Schema" ID="8274890b-ec00-48aa-acbf-00804b117a72" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd3" />
  <MetadataFile FileName="ChartsService.wsdl" MetadataType="Wsdl" ID="c4fed84a-e116-46dc-b3e1-1215d11744d7" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?wsdl=wsdl0" />
  <MetadataFile FileName="ChartsService1.xsd" MetadataType="Schema" ID="96c677e3-1a7b-4dde-bf91-346a5195c839" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd1" />
  <MetadataFile FileName="ChartsService.disco" MetadataType="Disco" ID="20ca4bb2-bf9f-4da6-838a-8f2e5fc010ad" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?disco" />
  <MetadataFile FileName="ChartsService2.xsd" MetadataType="Schema" ID="9c7784c8-9d42-4fe8-8d81-f0c1b085d88f" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd0" />
  <MetadataFile FileName="ChartsService3.xsd" MetadataType="Schema" ID="1a4f7235-19df-42ff-9645-bc232522dbaf" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd2" />
  <MetadataFile FileName="ChartsService4.xsd" MetadataType="Schema" ID="90c8f036-18fa-4a6b-ab57-3f64ff219bef" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd5" />


  <MetadataFile FileName="ChartsService5.xsd" MetadataType="Schema" ID="b1aa25dc-9db2-490a-84a2-a304a3ca5bde" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd6" />
  <MetadataFile FileName="ChartsService1.wsdl" MetadataType="Wsdl" ID="f2c0196a-e99d-4de3-b981-c45f826ac022" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?wsdl" />
  <MetadataFile FileName="ChartsService6.xsd" MetadataType="Schema" ID="a8f05459-141c-4156-ab39-3b9d34fd1ba7" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd4" />
  </Metadata>
  <Extensions>
  <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
  <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
  </Extensions>
</ReferenceGroup>

为什么会爆出这样的错误呢??? 这是什么错误,怎样修正???

[解决办法]
删掉 索引重新添加
[解决办法]
从来没用过那么先进的功能,一直都是手写代码,Reference.svcmap删除都可以,不影响程序编译,但是可能会影响更新引用,也就是那个所谓的自定义工具。最终引用部分有用的只有Reference.cs文件,其余的都可以删光,你把Reference.cs单独剪切出来,扔到项目中的任何位置都可以正常运行。其实还可以用命令行创建代理类,扔到项目中,不使用vs内的添加引用功能,不过熟悉客户端的创建方式后,自己手动创建也没问题,还可以避免各种错误的出现,维护方便。

热点排行