通过ILMerge合并WCF参考

问题描述 投票:2回答:1

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

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

运行压缩的exe时,我收到关于缺少对WCF项目终结点的引用的异常:

在ServiceModel客户端配置部分中找不到引用合同的默认终结点元素。

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

我当前对ILMerge的用法是通过cmd:

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

[我正在寻找一种通过ILMerge将WCF引用添加到独立exe的方法,或者在我的项目的bin out目录中找到Visual Studio生成的WCF引用输出。

c# .net visual-studio wcf ilmerge
1个回答
0
投票

通过添加服务参考,配置文件中还会生成一些额外的配置。因此,这可能会导致打包项目失败。或者,我们手动将System.servicemodel部分复制到新项目。我建议您更改使用服务的方式。您的项目似乎是通过添加服务引用来调用服务的。这将带来其他一些类库和引用,从而导致难以打包项目。请考虑以下致电服务的方式。https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-use-the-channelfactoryhttps://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/channel-factory它在主项目中完全封装了所需的类库。请随时告诉我是否有什么我可以帮助的。

© www.soinside.com 2019 - 2024. All rights reserved.