2016-07-11 3 views
3

UWPアプリケーションを使用しています。この例では、私はWin2D制御上の誤差をUWP Phantomコンパイラのエラー

を取得しています:

  <win2D:CanvasControl x:Name="MapCanvas" 
         RelativePanel.Below="UpButton" RelativePanel.Above="DownButton" RelativePanel.RightOf="LeftButton" RelativePanel.LeftOf="RightButton" 
         Draw="{x:Bind Vm.OnDrawCanvas}" 
         CreateResources="{x:Bind Vm.OnCreateResources}" 
         KeyUp="{x:Bind Vm.MapVm.OnKeyReleased}" 
         PointerMoved="{x:Bind Vm.OnPointerMoved}" 
         PointerPressed="{x:Bind Vm.OnPointerPressed}" 
         PointerReleased="{x:Bind Vm.OnPointerReleased}" 
         PointerExited="{x:Bind Vm.OnPointerExited}" 
         DoubleTapped="{x:Bind Vm.OnDoubleTapped}" 
         /> 

コントロールの名前空間は、次のとおりです。

xmlns:win2D="using:Microsoft.Graphics.Canvas.UI.Xaml" 

コンパイラは次のエラーを与えます

The name "CanvasControl" does not exist in the namespace "using:Microsoft.Graphics.Canvas.UI.Xaml". 

問題はもちろん存在します。実際、プログラムは正常に動作しますが、XAMLデザイナーはこのようなファントムエラーのために実行されません。

VS 2015をUpdate 3にアップグレードして以来、これらのファントムエラーが実際のエラーになってしまいましたが、私のデバッグモードとリリースモードを切り替えると、すべてのユーザーコントロールが同じエラーをスローします建物から。私がXAMLをカットアウトして、それを他の変更なしでペーストすると、ビルドして正常に動作します。これの最大の問題は、私は多くの場所でユーザーコントロールを取得しており、これを行うためには、各自のためにこれを行う必要があるということです。

なぜこのようなことが起こり、どう対処できるかについての洞察があれば、私は非常に感謝しています。

+0

'win2D'の名前空間宣言とは何ですか? – IInspectable

+0

私は名前空間を含むように元の質問を更新しました。 –

+0

解決策を試しましたか?2.あなたのプロジェクトの* bin *、* obj *を削除してください。3.reopenして、ソリューションをビルドしますか? XAMLデザイナにはいくつか問題があるようです。それでも問題を解決できない場合は、Visual Studioを修復してWindows SDKをアンインストール/再インストールしてみてください。 –

答えて

2

この状況で説明されている問題がいくつかあります。

Win2Dの問題に関する主な問題は、2つの競合するDLLが参照されていることでした。 2番目のDLL(Microsoft.Graphics.Canvas)がWin2Dを妨害していました。 DLLへの参照がプロジェクトから削除されると、Win2Dのエラーは消えました。

関連する問題