1

我有一个带有 Windows Phone 8 C# 项目和 Windows Phone 8 C++ 库的 Visual Studio 2012 解决方案。我已将其移至另一台计算机。现在,当我尝试打开解决方案时,库项目无法加载并在控制台中显示以下消息:

MyLib.vcxproj : error  : Unable to read the project file "MyLib.vcxproj".  
MyLib.vcxproj(620,3): The imported project "C:\Program Files (x86)\MSBuild\Microsoft\WindowsPhone\v7.0\Microsoft.Cpp.WindowsPhone.7.0.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

当我查看项目文件时,我在第 620 行找到以下内容:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets" />

所以看起来环境变量的值在TargetPlatformVersion某种程度上是关闭的。

然后我在这台机器上创建了另一个解决方案,也是 C#/C++ 组合。那个打开并编译并运行,不正确。查看新创建的库中的项目文件,它<Import>的末尾有一条相同的行。

现在,解决方案复制可能并不完美。我没有复制所有文件 - 只是我认为相关的文件 - .sln、.vcxproj.,但不是 .sdf 和 .suo。

似乎缺少某些内容 -TargetPlatformVersion未复制在解决方案或项目级别定义值的文件,现在 Visual Studio 选择了错误的默认值。不用说,WP7.0和它无关,都是WP8。

知道这个设置可以放在哪里吗?在项目和解决方案中都没有提到 TargetPlatformVersion。

4

3 回答 3

0

在几次重新打开和其他无意义的操作后,它自行消失了。好可怕的东西。不知道为什么。SVN 不会检测到项目文件的任何更改。

于 2013-01-03T15:30:16.820 回答
0

我也遇到了这个问题,解决方法是在电脑上安装最新的Windows Phone SDK(此时SDK V8.0)(显然它有以前的版本或根本没有安装)。

于 2013-03-07T21:57:28.700 回答
0
第 1 步:将 .vcxproj 文件中每次出现的 $(MSBuildExtensionsPath) 替换为 8.0
步骤 2:重新启动 Visual Studio

->然后您将收到错误“找不到 v120 (Platform Toolset = 'v120') 的构建工具”

要解决这个问题:
如果您使用的是 Visual 2012,请右键单击项目名称 -> 属性 -> 配置属性 -> 常规 -> 平台工具集 -> Visual Studio 2012 (v110) 或 wp-v110

你会很高兴去的!

注意:如果需要,您可以在项目文件中将更改从 8.0 恢复为 $(MSBuildExtensionsPath)。(错误原因是在vs2013中打开vs2012项目或其依赖项时)
于 2014-07-26T01:47:04.637 回答