Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# 通过ILMerge合并WCF引用_C#_.net_Visual Studio_Wcf_Ilmerge - Fatal编程技术网

C# 通过ILMerge合并WCF引用

C# 通过ILMerge合并WCF引用,c#,.net,visual-studio,wcf,ilmerge,C#,.net,Visual Studio,Wcf,Ilmerge,我在Visual Studio 2017中有一个WinForm项目,其中我从服务的wsdl文件创建了一个WCF端点引用。 我的项目还使用了几个第三方DLL 我希望我的项目是一个独立的exe文件,不需要安装,所以我使用ILMerge将我的dll文件打包成一个exe文件 运行Compressed exe时,我遇到了有关缺少对WCF项目终结点的引用的异常: 在ServiceModel客户端配置节中找不到引用约定的默认终结点元素 我试图通过ILMerge查找如何添加WCF引用,但找不到任何相关内容。 我

我在Visual Studio 2017中有一个WinForm项目,其中我从服务的wsdl文件创建了一个WCF端点引用。 我的项目还使用了几个第三方DLL

我希望我的项目是一个独立的exe文件,不需要安装,所以我使用ILMerge将我的dll文件打包成一个exe文件

运行Compressed exe时,我遇到了有关缺少对WCF项目终结点的引用的异常:

在ServiceModel客户端配置节中找不到引用约定的默认终结点元素

我试图通过ILMerge查找如何添加WCF引用,但找不到任何相关内容。 我在项目的bin输出文件夹中也找不到任何与WCF相关的内容

我当前通过cmd使用ILMerge:

ILMerge.exe /t:winexe /out:target.exe /targetplatform:v4,<.net v4 path> output.exe dll1.dll ... dlln.dll

现在,在使用ILMerge时,所有内容都已打包。

通过添加服务引用,在配置文件中还生成了一些额外的配置。因此,可能导致项目包装失败。或者,我们手动将
System.servicemodel
部分复制到新项目中。 我建议你改变使用这项服务的方式。您的项目似乎通过添加服务引用来调用服务。这将带来一些其他类库和引用,这导致项目很难打包。
请考虑以下方式拨打服务。

它完全封装了主项目中所需的类库。

如果有什么我可以帮忙的,请随时告诉我。

我没有听你的话,因为我对System.servicemodel为我生成类和解析器感到满意,但你对额外配置的评论将我推向了正确的方向。谢谢
BasicHttpBinding myBinding = new BasicHttpBinding();
myBinding.Security.Mode = BasicHttpSecurityMode.Transport;
EndpointAddress myEndpoint = new EndpointAddress(SERVICE_URL);
SoapServiceClient client = new SoapServiceClient(myBinding, myEndpoint);