我有一个ClickOnce应用程序可以访问大量的Web服务。在客户端上,我有一个包装所有Web服务的项目。
在该项目的属性中,如果构建/生成序列化程序集是自动(这是默认值),那么一切正常。我将选项设置为On,它编译得很好,然后在运行时我得到这个错误:
Line 786: [WebMethod]
Line 787: public CC.DTO.AdvertiserAssignmentRevenueDTO[] SearchAdvertiserAssignmentRevenue(byte[] AdvAssgnRevenueSearchFilter)
Line 788: {
Line 789: try
详细的编译器输出基本上是“CS0234:名称空间'CC'中不存在类型或命名空间名称'DTO'(您是否缺少程序集引用?)”
为什么会这样? 仅供参考,这是在VS2008中运行的.NET 2.0项目。
答案 0 :(得分:2)
我有一个非常相似的错误信息,症状相同。对我来说它甚至可以在本地运行但不能在不同的服务器上运行。原来我错过了我的一个方法的数据合同声明。
[DataContract (Namespace = ...)]
仔细检查服务和客户端上的方法,以确保它们具有所有必需的属性和声明。