C# 添加带有附加DLL中断的WCF服务引用
我在来自第三方供应商的外部程序集中定义了以下类:C# 添加带有附加DLL中断的WCF服务引用,c#,.net,visual-studio-2008,wcf,.net-3.5,C#,.net,Visual Studio 2008,Wcf,.net 3.5,我在来自第三方供应商的外部程序集中定义了以下类: namespace ThirdParty.Vendor.Code { [Serializable] [XmlInclude(typeof(Test1Data))] [XmlRoot(Namespace = "", IsNullable = false)] public abstract class DeviceTestData { protected DeviceTestData(); } [Serializ
namespace ThirdParty.Vendor.Code
{
[Serializable]
[XmlInclude(typeof(Test1Data))]
[XmlRoot(Namespace = "", IsNullable = false)]
public abstract class DeviceTestData
{
protected DeviceTestData();
}
[Serializable]
[XmlRoot(Namespace = "", IsNullable = false)]
public class TestData : DeviceTestData
{
public TestData();
public double DoubleValue { get; set; }
[XmlIgnore]
public bool DoubleValueSpecified { get; set; }
}
}
我添加了这个程序集作为对名为“TestService”的WCF服务的引用,这样我就可以编写使用这些类型的服务代码。这一切都很完美
现在我有了第二个项目,我需要向其中添加对TestService的引用。添加引用可以很好地工作,但是当我编写代码以使用引用的类型并尝试编译时,我得到以下错误:
找不到类型或命名空间名称“TestData”(是否缺少using指令或程序集引用?
因此,我在第二个项目中添加了供应商的DLL作为引用,并添加了使用名称空间ThirdParty.vendor.Code的指令,但现在我得到:
无法将类型“ThirdParty.Vendor.code.TestData”隐式转换为“ServiceReference.DeviceTestData”
似乎没有对第三方DLL的引用,就不会生成所需的类,但是如果我添加引用,它们会以某种方式被引用两次。WTF
有人对如何修复/解决此问题有任何建议吗?当您生成服务引用时,请确保已引用了保存数据协定的程序集,并选择“在引用的程序集中重用类型”。尝试过,仍然得到“无法隐式转换类型…”