6

我刚刚下载了 Visual Studio 的 14 CTP 版本,并为 Windows Phone 创建了一个空白应用程序。我试图打开MainPage.xaml和设计器显示以下错误:

在此处输入图像描述

对于那些看不到图像的人:

System.Exception
Package failed updates, dependency or conflict validation.

Windows cannot install package App.a5cd6ef3c.a895b.a4508.a96fd.af1634c30bb13 because this package depends on another package that could not be found. This package requires minimum version 0.0.0.0 of framework Microsoft.VCLibs.140.00.Debug published by any publisher to install. Provide the framework along with this package.
   at Microsoft.Expression.HostUtility.Platform.AppContainerProcessDomainFactory.CreateDesignerProcess(String applicationPath, String clientPort, Uri hostUri, IDictionary environmentVariables, Int32& processId, Object& processData)
   at Microsoft.Expression.DesignHost.Isolation.Primitives.ProcessDomainFactory.ProcessIsolationDomain..ctor(ProcessDomainFactory factory, IIsolationBoundary boundary, AppDomainSetup appDomainInfo, FrameworkName targetFramework, String identifier, String baseDirectory)
   at Microsoft.Expression.DesignHost.Isolation.Primitives.ProcessDomainFactory.CreateIsolationDomain(IIsolationBoundary boundary)
   at Microsoft.Expression.HostUtility.Platform.AppContainerProcessDomainFactory.CreateIsolationDomain(IIsolationBoundary boundary)
   at Microsoft.Expression.DesignHost.Isolation.Primitives.IsolationBoundary.Initialize()
   at Microsoft.Expression.DesignHost.Isolation.Primitives.IsolationBoundary.CreateInstance[T](Type type)
   at Microsoft.Expression.DesignHost.Isolation.IsolatedObjectFactory.Initialize()
   at Microsoft.VisualStudio.ExpressionHost.Services.VSIsolationService.CreateObjectFactory(IIsolationTarget isolationTarget, IObjectCatalog catalog)
   at Microsoft.Expression.DesignHost.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)
   at Microsoft.Expression.DesignHost.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)
   at Microsoft.Expression.DesignHost.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)
   at Microsoft.Expression.DesignHost.IsolatedDesignerService.CreateLease(IIsolationTarget isolationTarget, CancellationToken cancelToken, DesignerServiceEntry& entry)
   at Microsoft.Expression.DesignHost.IsolatedDesignerService.IsolatedDesignerView.CreateDesignerViewInfo(CancellationToken cancelToken)
   at Microsoft.Expression.DesignHost.Isolation.IsolatedTaskScheduler.InvokeWithCulture[T](CultureInfo culture, Func`2 func, CancellationToken cancelToken)
   at Microsoft.Expression.DesignHost.Isolation.IsolatedTaskScheduler.<>c__DisplayClass5`1.<StartTask>b__7()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

我输入App1.xaml.csandMainPage.xaml.cs我已经看到AppMainPage分别没有InitializeComponent().

该项目处于由 Visual Studio 创建的状态,我没有更改任何内容!

为什么会发生这种情况,我该如何解决?

4

6 回答 6

5

今天同样的事情开始发生在我身上;为了重现该问题,我只需打开 Visual Studio 2013 Update 4,创建一个空白的 Windows Phone 8.1 并双击 MainPage.xaml。

我通过执行以下操作(混合了我在网上阅读的内容)解决了问题:

  • 退出所有 Visual Studio 实例
  • 删除 %localappdata%\Microsoft\VisualStudio\12.0\Designer\ShadowCache 上的所有内容
  • 打开具有管理员权限的命令提示符并执行以下命令:

    pushd %VS110COMNTOOLS%
    icacls ..\IDE /grant *S-1-15-2-1:(OI)(F)
    icacls ..\IDE /grant *S-1-15-2-1:(CI)(F)
    icacls ..\IDE\PrivateAssemblies /grant *S-1-15-2-1:(OI)(F)
    icacls ..\IDE\PrivateAssemblies /grant *S-1-15-2-1:(CI)(F)
    icacls ..\IDE\PublicAssemblies /grant *S-1-15-2-1:(OI)(F)
    icacls ..\IDE\PublicAssemblies /grant *S-1-15-2-1:(CI)(F)
    

最后,重启。在 Windows 8.1 64 位上工作。

于 2014-12-02T22:54:21.797 回答
5

确保 XAML 上的类名与代码隐藏中的类名匹配。我在重构时遇到过几次。

XAML 打开标签:

<UserControl
    x:Class="Namespace.Foo"
    ... />

代码背后:

public sealed partial class Bar : UserControl
{
    public Bar()
    {
        // This will become the error specified (does not contain definition)
        this.InitializeComponent(); 
    }
    ...
}

所以 Namespace.Foo 需要在这里是 Namespace.Bar 才能消除错误。如果使用Page而不是,这应该具有相同的行为UserControl

于 2015-08-04T17:43:29.633 回答
1

检查页面中的 x:class 属性

于 2015-05-04T09:40:12.883 回答
0

它对我不起作用。刚刚创建了管理员类型的新本地帐户(Window 8.1,VS 2013 update 4)。使用新的本地帐户登录。打开看看就解决了。

于 2015-02-27T10:43:40.147 回答
0
  1. “工具”——>“扩展和更新”——>安装或更新“ nuget包管理器”之类的;
  2. 尝试以管理员身份打开
  3. 似乎 fat32 中的磁盘会导致错误
  4. 如果你在 SDK 之前安装 Silvertlight,可能会导致错误
于 2014-07-16T04:57:20.833 回答
0

今天遇到同样的问题,通过杀死所有实例并再次打开它来解决它。

于 2015-02-05T08:07:26.260 回答