gpt4 book ai didi

c# - 如果调试文件夹的其余部分可用,但我的 EXE 运行良好,但不是独立的

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:37 24 4
gpt4 key购买 nike

我有一个 WPF 应用程序,我想将其部署为独立的,以便用户可以从网站下载并运行它而无需安装。

它运行良好(从任何机器)只要它有调试文件夹中的所有文件:

enter image description here

如果崩溃时我尝试只运行 EXE 而没有其他文件。有没有一种方法可以将这些文件简化为 EXE,以便它可以独立运行?

(表单上有背景图片,但它设置为 Build Action = Resource,所以我不认为这是问题所在。此外,不必为了运行而将图片复制到另一台机器,只是上面显示的文件。) 事件日志中的错误是:

Faulting application name: AMBootstrapper.exe, version: 1.0.0.0, time stamp: 0x572caffc
Faulting module name: KERNELBASE.dll, version: 10.0.10586.162, time stamp: 0x56cd55ab
Exception code: 0xe0434352

和:

Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.

编辑:经过更多测试后,我可以删除大部分文件,但我不能删除的是 AMBootStrapper.exe.config

最佳答案

根据@BenJackson 的说法,问题是 WCF 服务详细信息在应用程序配置中。

解决方案是从 app.config 中删除它:

<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IService" allowCookies="true" maxReceivedMessageSize="184320" maxBufferPoolSize="184320" >
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="https://svc.myserver.com/MyService/Service.svc/Service.svc"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService"
contract="MyService.IService" name="WSHttpBinding_IService" />
</client>
</system.serviceModel>

并在代码中替换为:

WSHttpBinding binding = new WSHttpBinding();
binding.AllowCookies = true;
binding.MaxBufferPoolSize = 184320;
binding.MaxReceivedMessageSize = 183420;
binding.Security.Mode = SecurityMode.Transport;

EndpointAddress address = new EndpointAddress("https://svc.myserver.com/MyService/Service.svc/Service.svc");

MyService.MyClient c = new MyService.MyClient(binding, address);

关于c# - 如果调试文件夹的其余部分可用,但我的 EXE 运行良好,但不是独立的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37075367/

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