Pergunta

Eu estou tentando criar um novo projeto de C++ em VS 10, e não pode mesmo começar um projeto vazio para carregar a partir do modelo.Eu recebo um erro...

O "existir" função só aceita um valor escalar, mas o seu argumento "$(UserRootDir)\Microsoft.Cpp.$(Plataforma).usuário.adereços" avalia "{~}" o que não é um valor escalar.

O {~} valor é o que eu tenho armazenado no LOCALAPPDATA variável no computador Variáveis de Ambiente, concatenado com "\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.usuário.adereços" no final.

Eu estou relutante em ir de alterar quaisquer arquivos de modelo sem entender o que está acontecendo.

Foi útil?

Solução 2

Os links fornecidos pelo @Mihai deu a informação que eu precisava encontrar uma solução.O problema foi que LocalAppData não tem o valor que ele estava procurando (apenas o que a mensagem de erro diz).Eu não podia alterar os dados, porque os outros apps tinha modificado-lo para seus próprios fins (o valor não foi "~", que foi um marcador para este post).

Em vez disso, eu abri o .vcxproj arquivo no bloco de notas, e modificado o ImportGroup nós causando o erro.Em vez do atributo:

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

...ele agora lê

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

O projeto agora carrega.

Outras dicas

Bem, parece que o Windows XP não fornece nenhum valor padrão para esta variável e "~" definitivamente não é um diretório válido no seu PC.Tente defini-lo como descrito aqui ,e talvez você tenha sorte.Vs2010 tinha algum bug relacionado a isso.Talvez você também precise atualizá-lo para SP1.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top