

静态链接 编译选项/MT |
2 lskjdfgl OP @ShadowPower 好像不行,生成后还是只有一个 exe 没有其他的 dll ,在没有 .net framework 的系统上还是提示: 若要运行此应用程序,您必须首先安装 .NET Framework 的以下版本之一: v4.0.30319 |
3 ShadowPower Jan 2, 2024 那是 C#程序吧…… .NET Framework 4.0 的话,无解 |
4 lonewolfakela Jan 2, 2024 visual c++ Windows 窗体应用程序运行时是不需要.net framework 的,你最好先研究清楚是不是搞错了啥…… |
5 nuk Jan 2, 2024 publish 的时候自包含不行么 |
6 tool2d Jan 2, 2024 vc 似乎可以混合编程,就是一部分用 c#,另外一部分用 c++,对新手很容易搞混。 如何可以的话,考虑让 gpt 把 c#代码转换成 c++,就可以用一楼的方法解决了。 |
7 tsanie Jan 2, 2024 或者可以选择.net core ,然后 publish 成 self-contained 的 |
8 ysc3839 Jan 2, 2024 via Android 你先截图看看是 C++还是 C#吧 |
9 zsxzy Jan 2, 2024 nsis |
11 lskjdfgl OP |
13 cnbatch Jan 2, 2024 混合编程?可能无解,纯 C# 可以主动更改引用的 .NET Framework DLL ,已经有人试过可行: https://www.yycoding.xyz/post/2023/9/21/publish-dotnet-windows-application-into-a-single-file-executables 对于混合编程的话,那就复杂多了。可以尝试把调用到的 DLL 全部复制到程序当前目录,但我也不知道是否可行。 |
14 ByteRan Jan 2, 2024 再写一个项目,用于检测是否安装了.net framework ,如果没安装则,释放.net framework 安装文件,如果安装了,则释放项目安装文件 |
15 chinadch Jan 2, 2024 via iPhone nsis 创建安装程序,知乎上有流程 |
16 hahiru Jan 2, 2024 !安装必看.txt |
17 Golor Jan 2, 2024 可以用 InnoSetup 打包程序,在 iss 脚本中进行判断是否安装.net freamwork ,若没有安装则进行安装。 |
18 lskjdfgl OP @tanranran @Golor 谢谢 使用了 vs2010 自带的 visual studio installer 实现了安装前先检查有没有.net framework 环境,没有的话,就先安装.net framework ,安装后再复制程序文件。 |