Microsoft.Phone 네임 스페이스 (피벗, 파노라마 등)에있는 Windows Phone 8 응용 프로그램에 컨트롤을 추가 할 때마다 XAML 디자이너 throws :피벗 및 기타 Microsoft.Phone 컨트롤을 추가 할 때 Visual Studio 2012 XAML UI 디자이너에서 예외가 throw됩니다.
오류 COM 구성 요소 호출에서 HRESULT E_FAIL이 반환되었습니다.
: 파일이 컨트롤을로드at Microsoft.Phone.Controls.Design.PanoramaItemAdorner.Activate(ModelItem item) at Microsoft.Windows.Design.Interaction.AdornerProvider.InvokeActivate(EditingContext context, ModelItem item) at MS.Internal.Features.AdornerProviderFeatureConnector.FeatureProvidersAdded(ModelItem item, IEnumerable`1 extensions) at Microsoft.Windows.Design.Policies.PolicyDrivenFeatureConnector`1.OnPolicyItemsChanged(Object sender, PolicyItemsChangedEventArgs e) at System.EventHandler`1.Invoke(Object sender, TEventArgs e) at Microsoft.Windows.Design.Policies.ItemPolicy.OnPolicyItemsChanged(PolicyItemsChangedEventArgs e) at Microsoft.Windows.Design.Policies.SelectionPolicy.OnSelectionChanged(Selection newSelection) at Microsoft.Windows.Design.ContextItemManager.SubscribeProxy`1.SubscribeContext(ContextItem item) at Microsoft.Windows.Design.SubscribeContextCallback.Invoke(ContextItem item) at Microsoft.Windows.Design.EditingContext.DefaultContextItemManager.OnItemChanged(ContextItem item) at Microsoft.Windows.Design.EditingContext.DefaultContextItemManager.SetValue(ContextItem value) at Microsoft.Expression.DesignSurface.ViewModel.Extensibility.ExtensibilityManager.SetSelection(Selection selection) at Microsoft.Expression.DesignSurface.ViewModel.Extensibility.ExtensibilityManager.OnViewModelEarlySceneUpdatePhase(Object sender, SceneUpdatePhaseEventArgs args) at Microsoft.Expression.DesignSurface.ViewModel.SceneUpdatePhaseEventHandler.Invoke(Object sender, SceneUpdatePhaseEventArgs args) at Microsoft.Expression.DesignSurface.ViewModel.SceneViewModel.FireEarlySceneUpdatePhase(SceneUpdatePhaseEventArgs args) at Microsoft.Expression.DesignSurface.Pipeline.SceneViewUpdateScheduleTask.UpdateEarly() at Microsoft.Expression.Utility.Scheduler.ScheduleTask.Update() at Microsoft.Expression.Utility.Scheduler.SchedulingService.DispatchTasksAtPriority(DispatcherPriority priority) at Microsoft.Expression.Utility.Scheduler.SchedulingService.DispatcherToken.Dispatch(Object arg) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
경우, 스택 추적은 다음과 같습니다
흔적이 다를 것 같다 스택, 여기에 문서 개요에서 파노라마를 선택한 후 추적입니다
at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
at MS.Internal.XcpImports.Collection_InsertValue[T](PresentationFrameworkCollection`1 collection, UInt32 index, CValue value)
at MS.Internal.XcpImports.Collection_InsertDependencyObject[T](PresentationFrameworkCollection`1 collection, UInt32 index, DependencyObject value)
at System.Windows.PresentationFrameworkCollection`1.InsertDependencyObject(Int32 index, DependencyObject value)
at System.Windows.Controls.UIElementCollection.InsertInternal(Int32 index, UIElement value
동일한 .xaml 파일이 Blend에서 정상적으로 작동하며 디자이너가 컨트롤을 제거하는 즉시 다시 작업하기 시작합니다.
Windows Phone 8 SDK, Visual Studio 및 Silverlight SDK 및 런타임을 제거/복구하려고 시도했습니다.
다른 아이디어?
솔루션의 다른 프로젝트에 대한 참조와 관련이있는 것 같습니다. 몇 가지 이식 가능한 클래스 라이브러리 프로젝트 (MVVM 프레임 워크, 뷰 모델 및 Windows 8 앱과 공유하기위한 모델이 포함되어 있음)를 참조하는 Windows Phone 8 프로젝트가 있습니다.). 프로젝트에 대한 참조를 직접 추가하면 오류가 발생하지만 라이브러리를 빌드하고 DLL을 참조하면 정상적으로 작동합니다. 이상적은 아니지만 지금은 효과가있는 것 같습니다. – usw
또한 참조를 삭제하는 경우 솔루션을 정리하고 다시 작성한 다음 프로젝트에 대한 참조를 하나씩 추가하여 Visual Studio 또는 XDesProc.exe가 다시 시작될 때까지만 작동합니다. – usw
약간 짜증나지만이 문제는 프로젝트에 피벗을 추가 한 순간부터 시작되었습니다. –