2012-07-27 102 views
0

我试图在VS 10中创建一个新的C++项目,甚至不能从模板加载一个空项目。我得到一个错误...Visual Studio C++项目错误重新:LOCALAPPDATA

“存在”函数只接受标量值,但其参数“$(UserRootDir)\ Microsoft.Cpp。$(Platform).user.props”评估为“{〜}”这不是一个标量值。

{〜}值是我在计算机环境变量中的LOCALAPPDATA变量中存储的,与最终的“\ Microsoft \ MSBuild \ v4.0 \ Microsoft.Cpp.Win32.user.props”连接。

我不愿意改变任何模板文件而不理解正在发生的事情。

+0

你是否在Windows 7中观察到这种行为?我现在正在查看我的环境变量列表,LOCALAPPDATA没有明确定义。它似乎默认为C:\ Users \ user_name \ AppData \ Local。也许你安装的一些奇怪的应用程序由于某种原因决定重新定义它......作为测试,尝试在控制台中键入dir%LOCALAPPDATA%并让我知道输出是什么。 – 2012-07-27 19:29:29

+0

Windows XP。那里有一些文件路径用于附加的应用程序,但我试着改变内容以尝试获得不同的结果。虽然没有尝试过空字符串。 – Random 2012-07-27 20:56:09

回答

0

@Mihai提供的链接提供了我需要的信息来寻找解决方案。问题在于LocalAppData没有它正在寻找的值(正是错误消息所说的)。我无法更改该数据,因为其他应用程序为了自己的目的而修改了它(该值不是“〜”,这是该帖子的占位符)。

取而代之,我在记事本中打开了.vcxproj文件,并修改了导致该错误的ImportGroup节点。相反,属性:

Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" 

...现在读

Condition="exists('$(UserProfile)\Local Settings\Application Data\Microsoft.Cpp.$(Platform).user.props')" 

现在的项目负荷。

0

好吧,它看起来像Windows XP不提供任何默认值为这个变量和“〜”绝对不是您的PC上的有效目录。尝试设置它as described here,也许你会很幸运。 VS2010曾与some bug有关。也许你还需要升级到SP1。

相关问题