如何解决在Windows 10上运行.NET 3.5应用程序而不安装任何东西或交付app.config
我有一个具有以下要求的WPF应用程序:
- 可以在Windows 7到Windows 10中工作,而无需安装系统其他任何东西
- 即必须同时在.NET 3.5和.NET 4框架系统上工作
- 它必须是单个可执行文件,没有其他配置文件或DLL
我可以通过针对.NET 3.5和Costura.Fody来构建我的应用程序来使其工作。然后,通过在App.Config中使用以下命令,可以使它在未安装.NET 3.5的计算机上正常工作:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
问题是,这仅在app.exe.config位于exe旁边且违反了要求#3的情况下有效。
我对此有什么选择?我考虑过可能要创建一个其中嵌入了EXE和Config的C ++应用程序,并在启动时将2个文件复制到temp文件夹(如果尚未存在)中并从那里执行它,但是我不确定是否有更好的方法。
解决方法
如docs中所述,根据.NET Framework 3.5进行编译以在.NET Framework 4上运行的.NET Framework应用程序需要配置文件。
您最好的选择可能是移至.NET Core并将您的应用程序部署为single-file executable。
,我找到了一个解决方案-我能够使用IExpress创建一个自解压应用程序,它将两个文件(exe和config)存储到temp文件夹中,然后启动exe。这似乎可以在我测试过并满足我所有要求的所有Windows平台上使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。