目前我遇到了一个非常奇怪的问题,我自己无法解决。
环境
- 视窗 8.1
- Visual Studio 2013 终极更新 1
- 视窗电话 8 SDK
- 锐化 8
- Xamarin(只是说,我不认为这是问题所在)
我有一个包含单个 Windows Phone 8 项目的解决方案。只有一个来自标准模板,还没有定制。我有第二个解决方案,其中包含一个 PCL 项目(如果你愿意,可以称之为核心)。这两个解决方案/项目目前都是独立的,因为我遇到了以下问题:
问题
如果我加载 WP8-Solution,一切都会按预期工作。Visual Phone Designer 加载并正在工作。按预期拥有 IntelliSense。在设备和模拟器上调试就像一个魅力。没什么好好奇的。
下一步是切换到核心解决方案,进行一些更改并切换回 WP8 解决方案。
现在问题开始了。由于标记错误,Visual Phone Designer 无法加载。在查看 xaml 代码时,VS 无法识别与 Windows 8 Phone SDK 相关的任何内容。IntelliSense 停止工作,编译失败,无法在设备或模拟器上启动。似乎 VS 停止将该项目识别为 WP8 项目。
现在变得更有趣了。打开 .csproj 文件时,根为:
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
由于我不知道ToolsVersion到底是做什么的,所以我在MSDN中查找了它。它们还提供注册表项 ( HKLM\Software\Microsoft\MSBuild\ToolsVersions\12.0 ),MSBuild 可以在其中找到正确的工具。查了一下,我看到了四个条目:12.0、4.0、3.5、2.0。
为了测试,我更改ToolsVersion="12.0"
并ToolsVersion="4.0"
重新加载了项目。宾果游戏:它又开始工作了。它一直在工作,直到我更改为另一个解决方案或重新启动 VS。然后我再次得到相同的错误,如前所述。
有趣的是:如果我将 ToolsVersion 改回 12.0,它会再次工作,直到解决方案更改或 VS 重新启动。
看来我可以无限期地做到这一点。非常奇怪的行为。
到目前为止我尝试过的
我卸载了所有东西:Visual Studio、Resharper、Xamarin、Windows Phone 8 SDK。运行 CCleaner(我认为这没有多大帮助),重新启动计算机并再次安装所有内容。
可以肯定的是,Resharper 或 Xamarin 不会产生此错误,我起初在没有它们的情况下尝试过,但我仍然得到了它。
我不确定这种问题究竟是什么时候开始的,因为我开发了一些没有这个问题的手机应用程序。
感谢您的帮助,我很感激!问题越来越烦人。
如果您需要更多信息,请给我留言。