2012-11-27 2 views
2

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 및 런타임을 제거/복구하려고 시도했습니다.

다른 아이디어?

+0

솔루션의 다른 프로젝트에 대한 참조와 관련이있는 것 같습니다. 몇 가지 이식 가능한 클래스 라이브러리 프로젝트 (MVVM 프레임 워크, 뷰 모델 및 Windows 8 앱과 공유하기위한 모델이 포함되어 있음)를 참조하는 Windows Phone 8 프로젝트가 있습니다.). 프로젝트에 대한 참조를 직접 추가하면 오류가 발생하지만 라이브러리를 빌드하고 DLL을 참조하면 정상적으로 작동합니다. 이상적은 아니지만 지금은 효과가있는 것 같습니다. – usw

+0

또한 참조를 삭제하는 경우 솔루션을 정리하고 다시 작성한 다음 프로젝트에 대한 참조를 하나씩 추가하여 Visual Studio 또는 XDesProc.exe가 다시 시작될 때까지만 작동합니다. – usw

+0

약간 짜증나지만이 문제는 프로젝트에 피벗을 추가 한 순간부터 시작되었습니다. –

답변

3

나는 동일한 문제를 가지고 있으며 많은 포럼에서 논의 된 모든 대답을 시도했습니다.

마지막으로 프로젝트가 아닌 '솔루션'파일 (.sln)을 삭제 한 다음 모든 프로젝트를 새 솔루션에 다시 추가했습니다. 으로 VisualStudio 익스프레스 2012

단계 : 사용

. WindowsExplorer에서

  • 당신이에 프로젝트 솔루션 (의 .sln) 파일을 삭제를
  • 열기 주 프로젝트 파일 (.csproj)에서 비주얼 스튜디오.
  • 그런 다음 다른 모든 기존 프로젝트를 새 솔루션에 다시 추가하십시오.

지금 큰 도움이 되길 바랍니다.

0

두 생각 어쩌면 어쩌면 관련이없는 ... 어쩌면 디자이너를 찾을 수없는, 사용되는 그 오류를 던지고있는 템플릿

  1. 확인합니다. 템플릿이 공유 사전에있는 경우 가능한 한 페이지/컨트롤의 컨트롤 정의로 다시 이동하십시오.
  2. Xaml에서 사용중인 변환기 코드를보십시오. 디자인 타임 모드는 적절한 데이터를 다루지 않기 때문에 디자이너가 처리 할 수있는 유효한 데이터를 반환하여 변환기가 null 상황이나 잘못된 데이터 상황을 처리합니까? string.empty와 변환 할 원시 객체를 비교합니다. 다른 말로하면, 그것은 디자인 타임 모드가 살아가는 부정적인 상황을 적절하게 처리합니까?
0

System.Windows.Controls.DataVisualization.Toolkit 참조를 추가 할 때 동일한 문제가 발생하며이 오류가 발생합니다. 그 후 C : \ Program Files \ Microsoft SDKs \ Silverlight \ v3.0 \ Libraries \ Client 또는 C : \ Program Files (x86) \ Microsoft SDKs \ Silverlight \ Client 폴더에있는 참조 System.Windows.Controls.Toolkit을 추가했습니다. v3.0 \ Libraries \ Client 및 VS 잘 작동합니다. 아마도 도움이 될 것입니다.

관련 문제