Visual Studio 2019中Target Name与Output File的区别是什么?
Visual Studio 2019 Target Name与Output File配置项说明
二者的核心区别
- Target Name:仅定义输出文件的基础名称(无路径、无后缀),对应VS内部宏
$(TargetName),默认值和项目名称完全一致。它是生成默认输出路径的基础变量,只要你没有手动修改过Output File配置,修改Target Name会自动同步更新最终生成的文件名。 - Output File:定义最终生成文件的完整路径(含目录、文件名、后缀),直接对应编译器的
/out:filename命令行参数。只要你手动修改过这个配置项,它就会和Target Name解绑,后续无论怎么调整Target Name,最终输出都以你手动填写的Output File值为准。
默认输出文件名生成规则
默认状态下(你没有手动修改过Output File配置),输出文件会按照固定规则拼接生成:
- 路径前缀取自
$(OutDir)宏,默认值为$(SolutionDir)$(Platform)\$(Configuration)\,比如x64平台Debug配置下,默认路径就是解决方案根目录下的x64/Debug/文件夹 - 文件名主体取自
$(TargetName),也就是Target Name配置项的值 - 后缀取自
$(TargetExt)宏,根据项目类型自动匹配:- 控制台应用、Win32桌面应用:
.exe - 动态链接库项目:
.dll - 静态库项目:
.lib
- 控制台应用、Win32桌面应用:
- 最终拼接后的默认完整路径为:
$(OutDir)$(TargetName)$(TargetExt)
注意:手动修改Output File后,上述规则自动失效,VS会完全按照你填写的路径输出文件,不会再同步Target Name的变更。
内容的提问来源于stack exchange,提问作者KevinM
相关产品推荐
相关产品推荐

