VS2022含两个项目的解决方案发布问题求助
解决方案:VS2022发布多项目解决方案并解决DLL缺失问题
一、为什么找不到“Publish”选项?
- 确认你的newGUI项目类型:如果是MFC/Win32原生GUI项目,VS默认不会显示Publish选项(该功能主要针对.NET项目)。原生C++项目的部署需采用其他方式,而非Publish。
二、解决DLL缺失的两种核心方案
方案1:静态编译(推荐,无需额外依赖)
- 右键newGUI项目 → 打开属性面板
- 进入
配置属性 → C/C++ → 代码生成 - 将
运行库设置为多线程(/MT)(Debug版本选择多线程调试(/MTd)) - 同步对STM32CubePrgAPI项目做相同设置,重新编译整个解决方案
- 编译完成后,生成的newGUI.exe会整合所有依赖库,直接复制到其他电脑即可运行
方案2:动态编译+打包所有依赖DLL
若担心静态编译导致文件体积过大,可手动打包所需DLL:
- 用VS自带的
dumpbin工具排查依赖:打开VS开发者命令提示符,执行
命令会列出所有依赖的DLL文件dumpbin /dependents 你的newGUI.exe完整路径 - 定位DLL位置:
- VC++运行时DLL通常在
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\对应版本号\x64\Microsoft.VC143.CRT目录下(根据你的VS版本和平台调整路径) - STM32CubePrgAPI的DLL存放在其项目的输出目录(如Debug/Release文件夹)
- VC++运行时DLL通常在
- 将所有找到的DLL与newGUI.exe放在同一目录,压缩后复制到目标电脑即可运行
三、额外注意事项
- 确保STM32CubePrgAPI项目的输出目录与newGUI项目一致,或在newGUI项目属性中配置正确的依赖路径,避免编译时找不到后端DLL
- 若使用了STM32Cube相关的其他第三方库,需同步确认这些库的DLL是否已包含在打包文件中
内容的提问来源于stack exchange,提问作者RTL
相关产品推荐
相关产品推荐

