.NET Framework с путаницей Phone SDK
В настоящее время у меня очень странная проблема, которую я не могу решить самостоятельно.
Среда
- Windows 8.1
- Visual Studio 2013 Ultimate, обновление 1
- Windows Phone 8 SDK
- ReSharper 8
- Xamarin (просто сказать, я не думаю, что это проблема)
У меня есть решение, содержащее один проект Windows Phone 8. Только один из стандартных шаблонов, пока ничего не настроено. У меня есть второе решение, содержащее проект PCL (назовите его core, если хотите). Оба решения / проекты в настоящее время независимы, так как у меня есть следующая проблема:
Эта проблема
Если я загружаю 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 не выдают эту ошибку, я сначала попробовал ее без них, и я все еще получил ее.
Я не уверен, когда именно возникла такая проблема, так как я разработал некоторые телефонные приложения без этой проблемы.
Спасибо за вашу помощь, я ценю это! Проблема становится раздражающей.
Если вам нужна дополнительная информация, просто напишите мне комментарий.