UWP幻像编译器错误

时间:2016-07-11 13:57:44

标签: c# xaml uwp

我有一个UWP应用程序,它给了我幻像XAML编译器错误。

在这个例子中,我在Win2D控件上出错:

           <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切掉并将其粘贴回来(没有其他更改),它会构建并运行良好。最大的问题是,我在很多地方都有用户控件,我需要为它们中的每一个执行此操作才能使其工作。

如果有人对此为何发生以及如何解决这些问题有任何见解,我将非常感激。

1 个答案:

答案 0 :(得分:2)

在这种情况下,有一些问题被描述。

与Win2D问题相关的主要问题是有2个冲突的DLL被引用。第二个DLL(Microsoft.Graphics.Canvas)干扰了Win2D。当从项目中删除对DLL的引用时,Win2D错误消失了。