问题
I have just downloaded the 14 CTP version of Visual Studio and created a blank app for Windows Phone. I tried to open the MainPage.xaml
and the designer shows up the following errors:

and for those who can't see the image:
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()
I entered App1.xaml.cs
and MainPage.xaml.cs
and I've seen that App and MainPage, respectively, don't have a definition for InitializeComponent()
.
The project is in the state it was created by Visual Studio, I haven't changed anything!
Why is this happening and how can I solve it?
回答1:
the same started to happen to me today; to reproduce the issue, I just open Visual Studio 2013 Update 4, create a blank Windows Phone 8.1 and double click on MainPage.xaml.
I solved by performing the following (a mix of what I've read around the web):
- exit all Visual Studio instances
- delete everything on %localappdata%\Microsoft\VisualStudio\12.0\Designer\ShadowCache
open a command prompt with admin rights and execute the following commands:
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)
finally, reboot. worked on Windows 8.1 64-bit.
回答2:
Ensure the class name on your XAML matches the class name in your code-behind. I've run into this a few times while refactoring.
XAML Opening Tag:
<UserControl
x:Class="Namespace.Foo"
... />
Code Behind:
public sealed partial class Bar : UserControl
{
public Bar()
{
// This will become the error specified (does not contain definition)
this.InitializeComponent();
}
...
}
So Namespace.Foo would need to be Namespace.Bar here to get rid of the error. This should have the same behavior if using Page
instead of UserControl
.
回答3:
Check your x:class property in your page
回答4:
- “tools”——>"extensions and updates"——>install or update "nuget package manager" and something like that ;
- try to open as administrator
- it seems like disk in fat32 will lead to the error
- if u install Silvertlight before the SDK ,it may lead to the error
回答5:
Ran into same problem today, Fixed it by killing all instances and opening it up again.
回答6:
It does not work for me. Just created new local account with Administrator type (Window 8.1, VS 2013 update 4). Login by the new local account. Open and see it is solved.
来源:https://stackoverflow.com/questions/24593249/windows-phone-8-app-does-not-contain-a-definition-for-initializecomponent