什么是错误MSB4198:"The expression "目录名" cannot be evaluated"

What is error MSB4198: "The expression "DirectoryName" cannot be evaluated"

本文关键字:cannot evaluated be The 错误 MSB4198 什么 expression      更新时间:2023-10-16

我正在Visual Studio中编译一个项目,该项目已从2009版升级到2012版。在最后阶段,我收到一个错误,上面写着:

error MSB4198: The expression "DirectoryName" cannot be evaluated on item "..........objwin32vs11.0MyProjectdebugMyProject_debug.pch". 
               The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.

我试图搜索错误,但链接器中似乎有一些错误(可能是由于从VS版本(?)转换而来),但我找不到合适的解决方案。项目中属性|配置属性|链接器|输出文件的值为$(OutDir)$(TargetName)$(TargetExt)(如果有帮助的话)。

Visual Studio可能正在尝试转换"DirectoryName",并在转换过程中评估了目录路径。这种评价肯定已经溢出了。

一个常见的原因是试图将您的解决方案放入My Documents。正是因为这个原因,这不是一个听起来那么好的主意。微软已经使用了太多允许的路径长度。(他们真的应该复制Unix;/home/username只有14个字符。)