高分求救,怪哉,“自定义工具错误”,Why???

starrycheng 2012-09-14 01:00:22
“Web站点”的“Silverlight项目”中引用了“WCF服务”,开始时项目可以正常运行。

但是,选择“Silverlight”项目—>“服务引用”—>“更新WCF服务”,“更新之后”就会出现错误。 也没有对“WCF服务”中的“方法”做出什么修改,只是更新了服务应用就提示了错误“自定义工具错误 ”。

错误信息:



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

问题一:何为“自定义工具错误”??? 怎样产生的???


问题二:怎样排除错误??? 应该怎样修正???



“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="dba4508f-0249-4348-b9e4-74fd32c5afae" 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="a74d3613-d620-4681-98b7-2a94eb0e45ab" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd3" />
<MetadataFile FileName="ChartsService.wsdl" MetadataType="Wsdl" ID="e949fc6e-c5f4-4aa6-a3e2-86f6c3a7085a" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?wsdl=wsdl0" />
<MetadataFile FileName="ChartsService1.xsd" MetadataType="Schema" ID="87a1aa7e-e8f8-445d-8fb4-b965448e96a3" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd1" />
<MetadataFile FileName="ChartsService.disco" MetadataType="Disco" ID="40033940-7968-45a9-947e-70eb00e1d445" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?disco" />
<MetadataFile FileName="ChartsService2.xsd" MetadataType="Schema" ID="a15d9b1e-6543-4a99-8025-514160d749ec" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd0" />
<MetadataFile FileName="ChartsService3.xsd" MetadataType="Schema" ID="8af7a87e-2c2e-4783-9338-09753495f862" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd2" />
<MetadataFile FileName="ChartsService4.xsd" MetadataType="Schema" ID="bde5e0be-7c3d-49f2-99b8-a16f3d6c9a7c" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd5" />
<MetadataFile FileName="ChartsService5.xsd" MetadataType="Schema" ID="f4e38c66-4c21-43a5-af65-c793f979554e" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?xsd=xsd6" />
<MetadataFile FileName="ChartsService1.wsdl" MetadataType="Wsdl" ID="83e1088b-6af3-4854-99ef-bbbc748b2b0d" SourceId="1" SourceUrl="http://localhost:29787/Mycems.UI/ChartsService.svc?wsdl" />
<MetadataFile FileName="ChartsService6.xsd" MetadataType="Schema" ID="a65e8e34-4947-4795-9e7d-a847dceb3ba1" 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>
...全文
289 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
琪琪玉笨笨猪 2013-05-22
  • 打赏
  • 举报
回复
引用 7 楼 starrycheng 的回复:
谢谢大师,小弟先将“Silverlight”项目从解决方案中排除,然后编译站点没有问题。 然后,“重新引入项目”,然后更新服务,错误没有了。 这是为什么呢??? “重新使用引用的程序集中的类型”,这个选项的作用是什么呢? “Reference.svcmap”记载的是什么信息呢?
您好,你这问题是怎么解决的呢,我也出现这个问题了,好纠结
starrycheng 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

你贴的代码里面,没看到MyCharts的定义,错误明明指到了MyCharts,却看不到它的定义,这怎么可能?

另外你确定删除后重新添加服务引用就可以正常吗?
[/Quote]

大师。“重新引用服务”一样报错。


“MyCharts”是生成的“服务客户端代理类”的名字???
qldsrx 2012-09-17
  • 打赏
  • 举报
回复
你贴的代码里面,没看到MyCharts的定义,错误明明指到了MyCharts,却看不到它的定义,这怎么可能?

另外你确定删除后重新添加服务引用就可以正常吗?
starrycheng 2012-09-17
  • 打赏
  • 举报
回复
各位大师,“WCF”服务接口如下。

#region
[OperationContract]
public List<MonitoringsALL> BuildingALLDatas(string EType, string DateValue, MonitoringsALL.MonitorType Target, string TargetValue, string CircuitType, int DType)
{
var datas = new Mycems.BLL.MonitoringAllManager().GetBuildingALLDatas(EType,DateValue,Target,TargetValue,CircuitType,DType);
return datas;
}

#endregion


序列化实体类:
public class MonitoringsALL
{
//枚举类型
public EnergyType EType
{
get; set;
}


public MonitorType Target
{
get; set;
}

public DatasType DType
{
get;
set;
}

//时间属性组合值
public double[] DayDatas
{
get
{
return new[]
{
H00, H01, H02, H03, H04, H05, H06, H07, H08, H09,
H10, H11, H12, H13, H14, H15, H16, H17, H18, H19,
H20, H21, H22, H23
};
}
}



}

//枚举类型:
public enum EnergyType
{

EM,

WM,

GM,

OTHER,

ALL
}

//时间属性
public double H01
{
get;
set;
}


public double H02
{
get;
set;
}


public double H03
{
get;
set;
}


public double H04
{
get;
set;
}


public double H05
{
get;
set;
}


public double H06
{
get;
set;
}


public double H07
{
get;
set;
}


public double H08
{
get;
set;
}


public double H09
{
get;
set;
}


public double H10
{
get;
set;
}


public double H11
{
get;
set;
}


public double H12
{
get;
set;
}


public double H13
{
get;
set;
}


public double H14
{
get;
set;
}


public double H15
{
get;
set;
}


public double H16
{
get;
set;
}


public double H17
{
get;
set;
}


public double H18
{
get;
set;
}


public double H19
{
get;
set;
}

/// <summary>
/// 20:00时的监测数据
/// </summary>
public double H20
{
get;
set;
}


public double H21
{
get;
set;
}


public double H22
{
get;
set;
}


public double H23
{
get;
set;
}
qldsrx 2012-09-17
  • 打赏
  • 举报
回复
什么叫索引?我WCF用了几年了都没听说过还有索引这个名词。
把你的WCF接口定义贴出来看看,多数是那个地方有问题。最简单的做法是注视掉一部分看看,排除造成问题的方法。
WCF最常范的错误有以下几个:
一、函数的重载,WCF中不允许出现同名函数,即使参数不一样。
二、带泛型T的方法,WCF中只能使用具体方法,对于泛型类型必须将T替换为实际的类型,使用未知类型T的方法不能直接在WCF中使用。
三、Type、Delegate类型不能用在WCF中。
四、DataSet和DataTable必须有名字才可以序列化传输
  • 打赏
  • 举报
回复
starrycheng 2012-09-17
  • 打赏
  • 举报
回复
各位大师,这个错误好像和“VS2010”有关。 换了一个机器上的“VS2010”,“自定义工具错误”变为自定义工具警告了。

警告信息:

警告 1 自定义工具警告: 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。 C:\Documents and Settings\Administrator\桌面\Tj2.0(WCF错误2)\Tj2.0(WCF错误2)\MyCharts\Service References\MyChartsService\Reference.svcmap 1 1 MyCharts

问题一:“自定义工具警告”是什么“警告”??? “LoaderExceptions 属性”指什么,在哪里???


问题二:大师说“删掉 索引重新添加”,指什么??? 应该不是指删除引用重新添加吧???
starrycheng 2012-09-17
  • 打赏
  • 举报
回复
谢谢大师,小弟先将“Silverlight”项目从解决方案中排除,然后编译站点没有问题。

然后,“重新引入项目”,然后更新服务,错误没有了。

这是为什么呢???

“重新使用引用的程序集中的类型”,这个选项的作用是什么呢?

“Reference.svcmap”记载的是什么信息呢?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧