現在、私は自分で解決できない非常に奇妙な問題を経験しています。
環境
- Windows 8.1
- Visual Studio 2013 究極の更新プログラム 1
- Windows Phone 8 SDK
- リシャーパー 8
- Xamarin (言うまでもなく、これは問題ではないと思います)
単一の Windows Phone 8 プロジェクトを含むソリューションがあります。標準テンプレートからの 1 つだけで、まだカスタマイズされたものはありません。PCL プロジェクトを含む 2 つ目のソリューションがあります (必要に応じてコアと呼んでください)。次の問題があるため、両方のソリューション/プロジェクトは現在独立しています。
問題
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で調べました。また、MSBuild が正しいツールを見つけるレジストリ キー ( HKLM\Software\Microsoft\MSBuild\ToolsVersions\12.0 ) も提供します。調べてみると、12.0、4.0、3.5、2.0 の 4 つのエントリがありました。
テストのために、プロジェクトに変更ToolsVersion="12.0"
しToolsVersion="4.0"
てリロードしました。ビンゴ: 再び機能しています。別のソリューションに変更するか、VSを再起動するまで機能しています。その後、説明したように、同じエラーが再び発生します。
面白いのは、ToolsVersion を 12.0 に戻すと、ソリューションが変更されるか VS が再起動されるまで再び機能することです。
これなら無限にいけそうです。非常に奇妙な振る舞い。
これまでに試したこと
Visual Studio、Resharper、Xamarin、Windows Phone 8 SDK のすべてをアンインストールしました。CCleaner を実行し (あまり役に立たなかったと思います)、コンピューターを再起動し、すべてを再インストールしました。
確かに、Resharper または Xamarin がこのエラーを生成しないようにするには、最初はそれらを使用せずに試してみましたが、それでもエラーが発生しました。
この種の問題が発生した正確な時期はわかりません。この問題のない電話アプリをいくつか開発したからです。
助けてくれてありがとう、ありがとう!問題は煩わしくなっています。
さらに情報が必要な場合は、コメントを残してください。