0

VS10で新しいC++プロジェクトを作成しようとしていますが、テンプレートから空のプロジェクトをロードすることさえできません。エラーが発生します...

「exists」関数はスカラー値のみを受け入れますが、その引数「$(UserRootDir)\ Microsoft.Cpp。$(Platform).user.props」はスカラー値ではない「{〜}」と評価されます。

{〜}の値は、コンピューターの環境変数のLOCALAPPDATA変数に格納した値であり、最後に「\ Microsoft \ MSBuild \ v4.0\Microsoft.Cpp.Win32.user.props」と連結されています。

何が起こっているのかを理解せずにテンプレートファイルを変更するのは気が進まない。

4

2 に答える 2

0

そうですね、Windows XPはこの変数のデフォルト値を提供していないようで、「〜」は間違いなくPC上の有効なディレクトリではありません。ここで説明されているように設定してみてください。そうすれば、幸運になるかもしれません。VS2010にはこれに関連するいくつかのバグがありました。おそらく、SP1にアップグレードする必要もあります。

于 2012-07-27T21:36:11.500 に答える
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')"

プロジェクトが読み込まれます。

于 2012-07-31T18:35:34.183 に答える