The name 'InitializeComponent' does not exist in the current context. Cannot get any help on net searches

92,599

Solution 1

There are two potential causes of this.

  1. The most common is the x:Class doesn't match up with the MainPage.xaml namespace. Make sure that x:Class in MainPage.xaml has the correct namespace.

  2. The second most common cause of this problem is that the "Build Action" is not set to "Page" for MainPage.xaml!

Solution 2

This is the same question and answer here: The name 'InitializeComponent' does not exist in the current context

You might get this error when you import a class from another project, or change the path of the xaml file, or the namespace of either the xaml or behind .cs file.

One: It might have a namespace that is not the same as what you have in you new project

namespace TrainerB.MVC.Forms
{
     public partial class AboutDeveloper : ContentPage
     {
          public AboutDeveloper()
          {
               InitializeComponent();
          }
     }
}

As you can see the name space in the imported file begins with the old project name: "TrainerB", but your new project might have a different name, so just change it to the correct new project name, in both the .xaml file and the behind .cs file.

Two:

change the properties of the .xaml file to:

Build Action: Embedded Resource

Custom Tool: MSBuild:UpdateDesignTimeXaml

Xaml file properties

Xaml Namespace Correcting 01

Xaml Namespace Correcting 02

Solution 3

  1. Ensure the BuildAction of your App.xaml is set to "ApplicationDefinition"
  2. Delete the "obj" folder in the project, rebuild.
  3. If the problem persist, get rid of the "_" character in your namespace.

Solution 4

I had the same build error but the build action was already set to Page. Trying Build Action set to ApplicationDefinition (error: there can only one instance of that), and setting it back to Page, fixed the build error. Sounds like black magic, but it worked for me.

Solution 5

In my case, I had set build action of XAML page to Embedded Resource, reverting it to Page fixed the issue.

Share:
92,599
nik
Author by

nik

Updated on November 23, 2020

Comments

  • nik
    nik over 3 years

    Hi I am getting an error of InitializeComponent in my app.xaml.cs page I have checked the net and everything but no solution works. Please help.

    InitializeComponent does not exist

    C# file:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using Microsoft.Phone.Controls;
    using Microsoft.Phone.Shell;
    using Newtonsoft.Json;
    
    namespace Miser_sApp
    {
         public partial class App : Application
        {
              /// <summary>
             /// Provides easy access to the root frame of the Phone Application.
             /// </summary> 
             /// <returns>The root frame of the Phone Application.</returns>
              public PhoneApplicationFrame RootFrame { get; private set; }
    
             /// <summary> 
             /// Constructor for the Application object.
             /// </summary>
            public App()
             {
                 // Global handler for uncaught exceptions. 
                  UnhandledException += Application_UnhandledException;
    
                 // Standard Silverlight initialization
                 InitializeComponent();
    
                 // Phone-specific initialization
                InitializePhoneApplication();
    
                // Show graphics profiling information while debugging.
                if (System.Diagnostics.Debugger.IsAttached)
                {
                    // Display the current frame rate counters.
                    Application.Current.Host.Settings.EnableFrameRateCounter = true;
    
                    // Show the areas of the app that are being redrawn in each frame.
                    //Application.Current.Host.Settings.EnableRedrawRegions = true;
    
                    // Enable non-production analysis visualization mode, 
                     // which shows areas of a page that are handed off to GPU with a colored overlay.
                    //Application.Current.Host.Settings.EnableCacheVisualization = true;
    
                    // Disable the application idle detection by setting the UserIdleDetectionMode property of the
                    // application's PhoneApplicationService object to Disabled.
                     // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
                    // and consume battery power when the user is not using the phone.
                    PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
                }
    
           }
    
            // Code to execute when the application is launching (eg, from Start)
            // This code will not execute when the application is reactivated
            private void Application_Launching(object sender, LaunchingEventArgs e)
            {
            }
    
            // Code to execute when the application is activated (brought to foreground)
            // This code will not execute when the application is first launched
            private void Application_Activated(object sender, ActivatedEventArgs e)
            {
            }
    
             // Code to execute when the application is deactivated (sent to background)
            // This code will not execute when the application is closing
            private void Application_Deactivated(object sender, DeactivatedEventArgs e)
            {
            }
    
            // Code to execute when the application is closing (eg, user hit Back)
            // This code will not execute when the application is deactivated
            private void Application_Closing(object sender, ClosingEventArgs e)
            {
            }
    
            // Code to execute if a navigation fails
            private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
           {
                if (System.Diagnostics.Debugger.IsAttached)
                {
                    // A navigation has failed; break into the debugger
                    System.Diagnostics.Debugger.Break();
                }
            }
    
            // Code to execute on Unhandled Exceptions
            private void Application_UnhandledException(object sender,    ApplicationUnhandledExceptionEventArgs e)
            {
                if (System.Diagnostics.Debugger.IsAttached)
                {
                    // An unhandled exception has occurred; break into the debugger
                    System.Diagnostics.Debugger.Break();
                }
           }
    
            #region Phone application initialization
    
            // Avoid double-initialization
            private bool phoneApplicationInitialized = false;
    
            // Do not add any additional code to this method
            private void InitializePhoneApplication()
            {
                if (phoneApplicationInitialized)
                    return;
    
                // Create the frame but don't set it as RootVisual yet; this allows the splash
                // screen to remain active until the application is ready to render.
                RootFrame = new PhoneApplicationFrame();
                RootFrame.Navigated += CompleteInitializePhoneApplication;
    
                // Handle navigation failures
                RootFrame.NavigationFailed += RootFrame_NavigationFailed;
    
                // Ensure we don't initialize again
                phoneApplicationInitialized = true;
            }
    
            // Do not add any additional code to this method
            private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
            {
                 // Set the root visual to allow the application to render
                if (RootVisual != RootFrame)
                    RootVisual = RootFrame;
    
                // Remove this handler since it is no longer needed
                 RootFrame.Navigated -= CompleteInitializePhoneApplication;
            }
    
            #endregion
        }
    }
    

    XAML file:

    <Application 
        x:Class="Miser_sApp.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"       
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
        xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
    
        <!--Application Resources-->
        <Application.Resources>
        </Application.Resources>
    
        <Application.ApplicationLifetimeObjects>
            <!--Required object that handles lifetime events for the application-->
            <shell:PhoneApplicationService 
                Launching="Application_Launching" Closing="Application_Closing" 
                Activated="Application_Activated" Deactivated="Application_Deactivated"/>
        </Application.ApplicationLifetimeObjects>
    
    </Application>
    

    I have uploaded the app.xaml contents. I have not made any changes in it.

  • Angshuman Agarwal
    Angshuman Agarwal over 10 years
    +1 When I moved around the XAML from one csproj to another, the BuildAction was broken. Resetting it to "Page" worked.
  • opewix
    opewix almost 10 years
    +1 Deleting obj folder helped me! Thanks
  • Sinaesthetic
    Sinaesthetic over 8 years
    Startup objects are the solution, not the project
  • gregsdennis
    gregsdennis over 8 years
    Black magic, it is! This was the only thing that worked for me. Everything else was set correctly.
  • sandeep_kosta
    sandeep_kosta over 8 years
    btw i solved it by removing the click property from a button which was defined twice by mistake , so any xaml file syntax error causes this issue too..
  • PEHLAJ
    PEHLAJ almost 8 years
    Thanks buddy..It works
  • Zame
    Zame over 7 years
    how to access this xaml file please ? @reader Man San
  • webo80
    webo80 about 7 years
    Oh, not for me...
  • Trowa
    Trowa about 7 years
    I don't like this but it seems worked for me!
  • JosefZ
    JosefZ almost 7 years
    Please explain (and source) your suggestion. Why do you think that it might solve the problem?
  • Hans Hardmeier
    Hans Hardmeier over 3 years
    As a side note: If you get this error after changing to use dotnet msbuild instead of the classic msbuild, you need to add a /t:Restore to the build command.