The name 'InitializeComponent' does not exist in the current context. Cannot get any help on net searches [duplicate]
Asked Answered
P

10

38

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.

Phraseogram answered 25/7, 2013 at 9:19 Comment(0)
S
141

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!

Septi answered 9/11, 2013 at 8:9 Comment(4)
+1 When I moved around the XAML from one csproj to another, the BuildAction was broken. Resetting it to "Page" worked.Buttaro
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..Rastus
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.Habitude
Since I cannot add a new answer, in my case I changed the x:Class which was pointing to the old namespace, but moreover, the .csproj file got some weird Page Remove attribute on the xaml file that I copied from one project to the other. By removing this updated lines from the .csproj the code-behind file was generated again.Anthony
H
15

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

Hollingshead answered 15/5, 2016 at 22:12 Comment(1)
how to access this xaml file please ? @reader Man SanEscallop
A
6
  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.
Anticipant answered 26/7, 2013 at 16:36 Comment(0)
N
5

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.

Nealah answered 27/8, 2014 at 13:52 Comment(4)
Black magic, it is! This was the only thing that worked for me. Everything else was set correctly.Striated
Oh, not for me...Kellogg
I don't like this but it seems worked for me!Ruminant
I had the error with multiple xaml files. Doing the suggested change on one file solved the problem for all.Marsden
M
2

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

Maduro answered 26/6, 2018 at 17:56 Comment(0)
R
1

1) In the xaml file, check the x:Name of the main layout. Rename it 2) Compile. It should throw errors 3) Go back to the xaml file and give the same class name as it associated code behind file has (.cs file) Also include the namespace. eg: if namespace is "X" and class name is "Y", x:Name = "X.Y" 4) Compile. It should work.

Ryun answered 3/8, 2016 at 9:22 Comment(0)
E
0

Here's one other possibility, after exhausting all the above (as well as a few others scattered about the internet): make sure that your Startup object is correctly set to [Project].App in your Project Properties > Application tab.

I had renamed some namespaces, and somewhere in the process VS set the Startup object to "(not set)".

Evangelista answered 22/10, 2014 at 1:48 Comment(1)
Startup objects are the solution, not the projectAgustinaah
W
0

My solution was to set the Build Action property of Package.appxmanifest to AppxManifest. :)

Waneta answered 28/8, 2015 at 19:58 Comment(0)
U
0

After successful builds, when the error occurs, close VS, delete the hidden .vs folder in your project (this clears intellisense). Open VS, the error is gone.

Upswing answered 24/6, 2018 at 6:59 Comment(0)
T
-1

This worked for me, Try Ctrl+S on the pages that give you this error. The error came about, when my visual studio crashed(restarted). The pages I was working on(before the restart) didnt failed to build. Which lead me to think the didnt save correctly. Hence, Ctrl+S. That solved my issue.

Tenterhook answered 28/5, 2017 at 10:25 Comment(1)
Please explain (and source) your suggestion. Why do you think that it might solve the problem?Grandmotherly

© 2022 - 2024 — McMap. All rights reserved.