VS属性中的$(TargetName)和$(ProjectName)有何区别?

visionfans visionfans 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Visual Studio工程属性页中的, 有几个经常看到的macro.

我感到疑惑的是这两个:

$(TargetName)
$(ProjectName)


如图:



这两者往往是相同的, 好像在Visual Studio 2010中总是一样的.

It is by design in Visual Studio 2010 that $(ProjectName) and $(TargetName) is the same by default unless you change $(TargetName) explictly in the property page.[1]

在[2]中也提到这个问题, Microsoft的专家说, 因为难以通过解析Link.OutputFile, 所以, 默认保持了$(TargetName)和$(ProjectName)的一致性.

但是, 我想知道TargetName和ProjectName本质上有什么不一样.

在Visual Studio中, 目标(Target)名是指哪个? 工程(Project)名有是指哪个? 跟方案(Solution)名有何区别?

在哪里可以看到这些宏的定义呢?


[1] http://connect.microsoft.com/VisualStudio/feedback/details/506844/-targetname-becomes-equal-to-projectname-after-upgrading-from-a-vs2008-project-where-the-2-macros-are-assigned-different-values-causing-build-to-fail

[2] http://social.msdn.microsoft.com/Forums/en-MY/vcprerelease/thread/3c03e730-6a0e-4ee4-a0d6-6a5c3ce4343c
...全文
评论 9
收藏 已收藏
分享
返回顶部
visionfans
VC/MFC 16,550 成员 421,606 内容