【发布时间】:2011-04-19 19:48:48
【问题描述】:
我在第三方供应商的外部程序集中定义了以下类:
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 的引用。添加引用可以正常工作,但是当我编写代码以使用引用的类型并尝试编译时,出现以下错误:
The type or namespace name 'TestData' could not be found (are you missing a using directive or an assembly reference?)
所以我在第二个项目中添加了供应商的 DLL 作为参考,并添加了使用命名空间 ThirdParty.Vendor.Code 的指令,但现在我得到了:
Cannot implicitly convert type 'ThirdParty.Vendor.Code.TestData' to 'ServiceReference.DeviceTestData'
似乎没有对第三方 DLL 的引用,就不会生成所需的类,但是如果我添加引用,它们会以某种方式被引用两次。什么鬼?
有人对如何解决/解决此问题有任何建议吗?
【问题讨论】:
标签: c# .net visual-studio-2008 wcf .net-3.5