Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows Phone 8 app does not contain a definition for InitializeComponent

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:

enter image description here

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?

like image 442
Victor Avatar asked Jul 06 '14 06:07

Victor


3 Answers

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.

like image 111
Francesco Martire Avatar answered Oct 19 '22 07:10

Francesco Martire


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.

like image 45
Noppadet Avatar answered Oct 19 '22 09:10

Noppadet


Check your x:class property in your page

like image 1
M Jun Avatar answered Oct 19 '22 09:10

M Jun