我有一个带有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 ++组合。那个打开并编译并运行,nae problemo。查看新创建的库中的项目文件,它在末尾附近有一条相同的<Import>
行。
现在,解决方案复制可能并不完美。我没有复制所有文件 - 只是我认为相关的文件 - .sln,.vcxproj。,但不是.sdf而不是.suo。
看起来缺少某些东西 - 没有复制在解决方案或项目级别定义TargetPlatformVersion
值的文件,现在Visual Studio选择了错误的默认值。毋庸置疑,WP7.0与它无关,它都是WP8。
知道这个设置在哪里?在项目和解决方案中都没有提到TargetPlatformVersion。
答案 0 :(得分:0)
答案 1 :(得分:0)
我也有这个问题,解决方案是在计算机上安装最新的Windows Phone SDK(此时是SDK V8.0)(显然它有以前的版本版本或根本没有安装)。
答案 2 :(得分:0)
Step1: Replace every occurrence of $(MSBuildExtensionsPath) to 8.0 in your .vcxproj file Step2: Restart Visual Studio ->Then You will get the error "The builds tools for v120 (Platform Toolset = 'v120') cannot be found" To fix this: if you are using visual 2012 right click on project name -> properties -> configuration properties -> general -> platform toolset -> Visual Studio 2012 (v110) or wp-v110 And You will be good to go! Note: You can then revert the changes from 8.0 to $(MSBuildExtensionsPath) in your project file if you want. (The cause of the error is when you open a vs2012 project or its dependencies in vs2013)