Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 重用WCF服务引用中的现有类型不起作用_C#_.net_Wcf - Fatal编程技术网

C# 重用WCF服务引用中的现有类型不起作用

C# 重用WCF服务引用中的现有类型不起作用,c#,.net,wcf,C#,.net,Wcf,我正在尝试使用公共dll在服务器和客户端之间共享类。客户端和服务器通过WCF服务进行通信。当我通过VisualStudio添加/配置服务引用时,不会从dll中提取类型。相反,正在创建新的自动生成副本并在服务引用中使用。我检查了未指定引用程序集的重用类型,并检查了dll。如果我通过svcutil创建服务引用,并从客户端的bin文件夹引用dll,那么生成的代码将使用dll中的类,而不是创建我想要的新类型 我不明白为什么通过VisualStudio添加服务引用与使用svcutil不同。我曾试图从Vis

我正在尝试使用公共dll在服务器和客户端之间共享类。客户端和服务器通过WCF服务进行通信。当我通过VisualStudio添加/配置服务引用时,不会从dll中提取类型。相反,正在创建新的自动生成副本并在服务引用中使用。我检查了未指定引用程序集的重用类型,并检查了dll。如果我通过svcutil创建服务引用,并从客户端的bin文件夹引用dll,那么生成的代码将使用dll中的类,而不是创建我想要的新类型


我不明白为什么通过VisualStudio添加服务引用与使用svcutil不同。我曾试图从VisualStudio的服务生成中找到某种类型的日志/输出,但没有成功。我在VS 2012和VS 2015中都尝试过这一点。以前是否有人见过类似的问题,或者对我可以尝试的其他方法有什么建议?

关于您的客户项目;转到“服务引用”文件夹,右键单击被引用的服务。单击配置服务引用。在指定的..中应该有一个重用类型。。在底部的部分。选择要引用的common.dll。点击确定后;它会自动更新。我已经选择了它,但它仍然会创建一个新对象。我已经将其抽象为一个简单的项目,其中custom.dll是我安装的唯一外部dll。我尝试了选择重用所有引用类型和重用所选引用类型(选中common.dll),但在这两种情况下都会创建一个新对象;我忘记了原因,但它确实很简单,被忽略了。这篇文章可能会帮助你谢谢,我已经看到了那篇文章。我在添加服务引用之前添加了dll,并确保服务器和客户端之间的版本相同。我只能访问dll,因此无法同时在客户端/服务器中引用项目。我担心我们可能不得不采用渠道工厂方法,如果我们正在创建一个新的客户机,这将很好,但我们正在迁移一个现有的客户机,其中服务引用非常丰富,因此这将需要大量工作。但我们可能别无选择;转到“服务引用”文件夹,右键单击被引用的服务。单击配置服务引用。在指定的..中应该有一个重用类型。。在底部的部分。选择要引用的common.dll。点击确定后;它会自动更新。我已经选择了它,但它仍然会创建一个新对象。我已经将其抽象为一个简单的项目,其中custom.dll是我安装的唯一外部dll。我尝试了选择重用所有引用类型和重用所选引用类型(选中common.dll),但在这两种情况下都会创建一个新对象;我忘记了原因,但它确实很简单,被忽略了。这篇文章可能会帮助你谢谢,我已经看到了那篇文章。我在添加服务引用之前添加了dll,并确保服务器和客户端之间的版本相同。我只能访问dll,因此无法同时在客户端/服务器中引用项目。我担心我们可能不得不采用渠道工厂方法,如果我们正在创建一个新的客户机,这将很好,但我们正在迁移一个现有的客户机,其中服务引用非常丰富,因此这将需要大量工作。但我们可能别无选择。