Visual Studio 2017多项目配置构建:Setup项目构建简化方案咨询
解决方案组织优化方案
1. 隔离静态LIB的不同配置产物
先修改静态LIB项目的输出路径,让/MT和/MD配置的产物分开存储,避免互相覆盖:
- 打开LIB项目属性→配置属性→常规→输出目录,设置为:
- Debug/MT配置:
$(SolutionDir)LibOutput\Debug_MT - Debug/MD配置:
$(SolutionDir)LibOutput\Debug_MD - Release/MT配置:
$(SolutionDir)LibOutput\Release_MT - Release/MD配置:
$(SolutionDir)LibOutput\Release_MD
- Debug/MT配置:
- 保持“目标文件名”一致(比如
MyLib.lib),靠输出目录区分不同配置产物。
2. 配置DLL项目的依赖与引用
DLL用/MT配置,直接关联LIB的同配置版本:
- 右键DLL项目→添加→项目引用→勾选静态LIB项目。
- 打开引用属性设置:确认“复制本地”设为
false(静态LIB无需复制),配置映射保持默认(DLL的Debug对应LIB的Debug/MT,Release对应LIB的Release/MT)。 - 此时VS会自动处理构建顺序:生成解决方案时先构建LIB的
/MT配置,再构建DLL,且自动将LIB产物加入链接器依赖,无需手动添加附加依赖项。
3. 配置EXE项目的依赖与引用
EXE用/MD配置,关联LIB的/MD配置版本:
- 右键EXE项目→添加→项目引用→勾选静态LIB项目。
- 点击引用列表里的LIB项目→选择“编辑”,打开配置映射窗口:
- 将EXE的
Debug配置映射到LIB的Debug_MD配置 - 将EXE的
Release配置映射到LIB的Release_MD配置
- 将EXE的
- 设置“复制本地”为
false,VS会自动在构建EXE前先构建LIB的/MD配置,并自动链接对应LIB文件,替代手动添加附加依赖项的操作。
4. 配置Setup项目的依赖
让Setup项目自动等待DLL和EXE构建完成:
- 右键Setup项目→项目依赖→勾选DLL和EXE项目。
- 打开Setup项目的文件添加设置:确保添加的是DLL和EXE项目的“项目输出”,而非手动指定路径,VS会自动获取最新构建的产物。
5. 验证构建流程
完成配置后,直接点击VS的「生成解决方案」(Ctrl+Alt+B),VS会自动执行以下流程:
- 构建静态LIB的
/MT配置(供DLL使用) - 构建DLL项目
- 构建静态LIB的
/MD配置(供EXE使用) - 构建EXE项目
- 构建Setup项目
完全无需依赖批处理,避免忘记操作导致的构建错误。
内容的提问来源于stack exchange,提问作者Dialecticus
相关产品推荐
相关产品推荐

