web-dev-qa-db-fra.com

Le nom «InitializeComponent» n'existe pas dans le contexte actuel. Impossible d'obtenir de l'aide sur les recherches sur le net

Bonjour, je reçois une erreur de InitializeComponent dans mon app.xaml.cs page J'ai vérifié le net et tout mais aucune solution ne marche. Veuillez aider.

InitializeComponent n'existe pas

Fichier C #:

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
    }
}

Fichier XAML:

<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>

J'ai téléchargé le app.xaml Contenu. Je n'y ai apporté aucun changement.

30
nik

Il y a deux causes potentielles à cela.

  1. Le plus courant est que x: Class ne correspond pas à l'espace de noms MainPage.xaml. Assurez-vous que x: Class dans MainPage.xaml a l'espace de noms correct.

  2. La deuxième cause la plus courante de ce problème est que l '"Action de génération" n'est pas définie sur "Page" pour MainPage.xaml!

111
Rich Bianco

C'est la même question et réponse ici: Le nom 'InitializeComponent' n'existe pas dans le contexte actuel

Vous pouvez obtenir cette erreur lorsque vous importez une classe à partir d'un autre projet ou modifiez le chemin d'accès du fichier xaml ou l'espace de noms du fichier xaml ou derrière .cs.

Un: Il pourrait avoir un espace de noms différent de celui que vous avez dans votre nouveau projet

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

Comme vous pouvez le voir, l'espace de nom dans le fichier importé commence par l'ancien nom du projet: "TrainerB" , mais votre nouveau projet peut avoir un nom différent, il suffit donc de le remplacer par le nouveau nom de projet correct, dans le fichier .xaml et dans le fichier .cs derrière.

Deux:

changez les propriétés du fichier .xaml en:

Action de génération: Ressource intégrée

Outil personnalisé: MSBuild: UpdateDesignTimeXaml

Xaml file properties

Xaml Namespace Correcting 01

Xaml Namespace Correcting 02

13
Reader Man San
  1. Assurez-vous que BuildAction de votre App.xaml est défini sur "ApplicationDefinition"
  2. Supprimez le dossier "obj" dans le projet, reconstruisez.
  3. Si le problème persiste, supprimez le caractère "_" dans votre espace de noms.
4
Soonts

J'ai eu la même erreur de génération, mais l'action de génération était déjà définie sur Page. Essayer l'action de construction définie sur ApplicationDefinition (erreur: il ne peut y avoir qu'une seule instance de cela) et la redéfinir sur Page, a corrigé l'erreur de construction. Cela ressemble à de la magie noire, mais cela a fonctionné pour moi.

2
Roland

1) Dans le fichier xaml, vérifiez le x: nom de la mise en page principale. Renommez-le 2) Compilez. Il devrait générer des erreurs 3) Revenez au fichier xaml et donnez le même nom de classe que le code associé derrière le fichier (fichier .cs) Incluez également l'espace de noms. par exemple: si l'espace de noms est "X" et le nom de la classe est "Y", x: Name = "X.Y" 4) Compilez. Ça devrait marcher.

0
Nahid

Voici une autre possibilité, après avoir épuisé tout ce qui précède (ainsi que quelques autres éparpillés sur Internet): assurez-vous que votre objet Démarrage est correctement défini sur [Projet] .App dans l'onglet Propriétés de votre projet> Application.

J'avais renommé certains espaces de noms, et quelque part dans le processus VS a défini l'objet de démarrage sur "(non défini)".

0
gcyoung

Ma solution a été de définir la propriété Build Action de Package.appxmanifest sur AppxManifest. :)

0
debeka

Une fois les builds réussies, lorsque l'erreur se produit, fermez VS, supprimez le dossier .vs caché de votre projet (cela efface l'intellisense). Ouvrez VS, l'erreur a disparu.

0
pollaris

Cela a fonctionné pour moi, essayez Ctrl+S sur les pages qui vous donnent cette erreur. L'erreur s'est produite lorsque mon studio visuel s'est écrasé (redémarré). Les pages sur lesquelles je travaillais (avant le redémarrage) n'ont pas pu être créées. Ce qui m'a amené à penser que le didnt enregistrer correctement. Par conséquent, Ctrl+S. Cela a résolu mon problème.

0
Terry Mosoma

Dans mon cas, j'avais défini l'action de génération de la page XAML sur Embedded Resource, en le rétablissant sur Page a résolu le problème.

0
Prateek