今天我的WCF服务有一个非常奇怪的问题,让我头晕目眩。
在我的代码中,我的WCF界面中有两个定义。
[OperationContract]
List<DOMAIN.Models.Configuration.PAEConfiguration> GetConfigurationList(Guid companyID);
[OperationContract]
DOMAIN.Models.Configuration.PAEConfiguration GetConfigurationByCompanyID(Guid companyID);
这两者显然都与定义POCO类有关。
然而,虽然顶级LIST版本工作正常,但我在编译时遇到以下错误。
The type 'PAE.DOMAIN.Models.Configuration.PAEConfiguration' is defined in an assembly that is not referenced. You must add a reference to assembly 'PAE.DOMAIN, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
第一个电话完美无缺。第二个导致构建错误。
显然我发现这有点令人困惑,因为你可以想象,如果可以传递,因为x的列表可以被管理为x。
源POCO类是
[DataContract]
public class PAEConfiguration : PAEConfigurationTemplate
{
[DataMember]
public Guid PAEConfigurationID { get; set; }
}
继承了这个。
[DataContract]
public class PAEConfigurationTemplate
{
[DataMember]
public Guid CompanyID { get; set; }
/* And lots more besides */
}