title: What is error MSB4198: "The expression "DirectoryName" cannot be evaluated"
body: <p>I am compiling a project in Visual Studio after I upgraded it from version 2009 to 2012. At the very final stage, I am getting an error that reads:</p>
  
  <pre><code>error MSB4198: The expression "DirectoryName" cannot be evaluated on item "..\..\..\..\..\obj\win32\vs11.0\MyProject\debug\MyProject_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.
  </code></pre>
  
  <p>I tried to search for the error and it seems to be some error in the linker (potentially due to conversion from VS version (?) ), but I can't find an appropriate solution. The value of <strong>Properties | Configuration Properties | Linker | Output File</strong> in the project is <code>$(OutDir)$(TargetName)$(TargetExt)</code>, if that is any help.</p>