方案
问题
在服务器端,我们使用Entity Framework模型生成了实体对象。我们使用自我跟踪T4模板来生成实体。这些实体是共享的,可以从客户端使用(Silverlight 4项目)。
但是当我们尝试添加新的Web服务引用时,代理生成器不起作用。 reference.cs文件为空。我们在Web Reference的配置中检查了“Reuse Types”选项。我们已经检查了将要共享的程序集(仅限实体程序集)。
我们尝试从实体的DataContract属性中删除每个(IsReference = true),但它不起作用。
任何想法或解决方法?
答案 0 :(得分:15)
取消选中“重用类型”对我有用。代码生成器遍历依赖项的对象图,如果它遇到任何问题,比如找不到引用,那么它会爆炸并且不会在reference.cs中生成任何代码。
答案 1 :(得分:2)
当您尝试共享的程序集是针对更高版本的.NET平台编译时,可能会发生这种情况。
例如,如果您的项目针对.NET 3.5并且程序集是针对4.0编译的,则会发生这种情况。
答案 2 :(得分:0)
您已选中Reuse Types
选项?请尝试取消选中Reuse Types