【问题标题】:VS2015: "The Windows Software Development Kit (SDK) required by the XAML Designer was not correctly installed." exception with Windows Phone 8.1 XAMLVS2015:“XAML 设计器所需的 Windows 软件开发工具包 (SDK) 未正确安装。” Windows Phone 8.1 XAML 例外
【发布时间】:2017-02-26 10:11:29
【问题描述】:

我正在尝试更新我的 Win 8.1 应用程序。设计器为 .Winsows 项目加载得很好,但是当我尝试从 .WindowsPhone 项目编辑 XAML 文件时,我不断收到此错误:

System.InvalidOperationException
The Windows Software Development Kit (SDK) required by the XAML Designer was not correctly installed. Consider repairing your installation of either Visual Studio or the Windows SDK.
   at Microsoft.VisualStudio.DesignTools.HostUtility.Platform.AppContainerProcessDomainFactory.CreateDesignerProcess(String applicationPath, String clientPort, Uri hostUri, IDictionary environmentVariables, Int32& processId, Object& processData)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.ProcessDomainFactory.ProcessIsolationDomain..ctor(ProcessDomainFactory factory, IIsolationBoundary boundary, AppDomainSetup appDomainInfo, IIsolationTarget isolationTarget, String baseDirectory)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.ProcessDomainFactory.CreateIsolationDomain(IIsolationBoundary boundary)
   at Microsoft.VisualStudio.DesignTools.HostUtility.Platform.AppContainerProcessDomainFactory.CreateIsolationDomain(IIsolationBoundary boundary)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.IsolationBoundary.Initialize()
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.IsolationBoundary.CreateInstance[T](Type type)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedObjectFactory.Initialize()
   at Microsoft.VisualStudio.DesignTools.DesignerHost.Services.VSIsolationService.CreateObjectFactory(IIsolationTarget isolationTarget, IObjectCatalog catalog)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.IsolatedDesignerService.CreateLease(IIsolationTarget isolationTarget, CancellationToken cancelToken, DesignerServiceEntry& entry, IServiceProvider serviceOverrides)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.IsolatedDesignerService.IsolatedDesignerView.CreateDesignerViewInfo(CancellationToken cancelToken)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedTaskScheduler.InvokeWithCulture[T](CultureInfo culture, Func`2 func, CancellationToken cancelToken)
   at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedTaskScheduler.<>c__DisplayClass10_0`1.<StartTask>b__0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

我尝试重新安装 8.1 SDK 几次,但没有成功。这可能是什么原因造成的?

【问题讨论】:

  • 你找到补救办法了吗?

标签: xaml visual-studio-2015 windows-runtime windows-phone-8.1 windows-8.1


【解决方案1】:

最近在 Windows 10 上运行 Visual Studio 2015 Enterprise 时遇到了同样的问题,尝试清理所有缓存、重新安装、手动检查文件权限等等,只能按照说明 here 进行修复,这些问题适用于VS2012 但适用于 VS2015。

为了让您更轻松(感谢maeneak,因为这是他的解决方案):

  • x86,对“Program Files”中的“Reference Assemblies”目录执行以下操作
  • x64,对“Program Files”和“Program Files (x86)”中的“Reference Assemblies”目录执行以下操作

这必须以管理员身份完成

记得关闭 Visual Studio 的所有实例。

  1. 在 Windows 资源管理器中选择文件夹,右键单击并选择 “属性”

  2. 单击“安全”选项卡,然后单击“高级...”按钮

  3. 在新窗口的顶部应该有“名称”和“所有者”。下一个 所有者点击“更改”链接。

  4. 在新窗口中确保您选择了本地计算机 在“从这个位置:”下。如果没有单击“位置...”并选择 您的本地计算机,然后单击“确定”。

  5. 在“输入要选择的对象名称”下的文本框中,输入“用户”,单击“检查名称...”并单击“确定”

  6. 在页面顶部选中“替换所有者”选项 子容器和对象”。点击“应用”。可能会提示您 关闭属性对话框以应用所有权更改,如果是这样 关闭所有对话框,然后重复步骤 1 和 2。

  7. 在“权限”选项卡上选择“用户”并单击“编辑”。

  8. 选择“完全控制”,然后单击“确定”。

希望对你有帮助!

【讨论】:

  • 我错误地在 Program Files 上执行了此操作,这是否仍适用于 Reference 程序集(或者它是否会导致在 Program Files 级别执行这些权限时出现问题?)。因为它似乎没有改变任何东西。
猜你喜欢
  • 2016-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-28
  • 2015-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多