gpt4 book ai didi

c# - VS2010 混淆了 System.Xml.XmlElement 和 System.Xml.Linq.XElement?

转载 作者:太空狗 更新时间:2023-10-29 17:31:48 26 4
gpt4 key购买 nike

我已经使用一种返回 System.Xml.XmlElement 的方法创建了一个 WCF 服务:

接口(interface):

[ServiceContract]
public interface IWCFService
{
[OperationContract]
XmlElement Execute(...);
}

服务:

public XmlElement Execute(...)
{
XmlNode node = ...;

return (XmlElement)node;
}

当我尝试访问部署在我的服务器上的服务时

WCFServiceClient service = new WCFServiceClient("WSHttpBinding_IWCFService");
XmlElement node = service.Execute(...);

我得到错误:

Cannot implicitly convert type 'System.Xml.Linq.XElement' to 'System.Xml.XmlElement'

搜索我的服务解决方案时,我看不到对 System.Xml.Linq.XElement 的任何引用。期望 System.Xml.XmlElement 是我的错还是 VS 2010 跟我开玩笑?

最佳答案

我发现对我来说最有效和最简单的方法是右键单击服务引用,然后单击“配置服务引用”。在底部的对话框中,您将看到 2 个单选按钮,分别表示“在所有 引用程序集中重用类型”或“在指定 引用程序集中重用类型”。单击“指定程序集”的第二个选项。然后将启用列表框,您可以检查所有程序集并保留 System.Xml.Linq 未选中。这样,每次更新服务引用时,您都会得到预期的结果,并将存储在客户端的配置中。

关于c# - VS2010 混淆了 System.Xml.XmlElement 和 System.Xml.Linq.XElement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2855597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com