Le nom "InitializeComponent" n'existe pas dans le contexte actuel. Ne peut pas obtenir d'aide sur les recherches sur Internet
Salut j'obtiens une erreur de InitializeComponent
dans ma app.xaml.cs
page j'ai vérifié le net et tout mais aucune solution ne fonctionne. S'il vous plaît aider.
le composant initial n'existe pas
C# fichier:
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 contenu app.xaml
.
Je n'ai pas fait de modifications.
10 réponses
il y a deux causes potentielles de ce .
-
le plus commun est le x:Classe ne correspond pas à la page principale.espace de noms xaml. Assurez-vous que x:Class dans MainPage.xaml a l'espace de noms correct.
-
la deuxième cause la plus fréquente de ce problème est que "Build Action" n'est pas défini à "Page" pour MainPage.xaml!
C'est la même question et la réponse ici: le nom "InitializeComponent" n'existe pas dans le contexte actuel
vous pourriez obtenir cette erreur lorsque vous importez une classe à partir d'un autre projet, ou que vous changez le chemin du fichier xaml, ou l'espace de noms de xaml ou de behind .cs fichier.
: qu'Il pourrait avoir un espace de noms n'est pas la même chose que ce que vous avez en vous un 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 de projet: " TrainerB " , mais votre nouveau projet pourrait avoir un nom différent, il suffit de le changer pour le nouveau nom de projet correct, dans les deux le .fichier xaml et le derrière .cs fichier.
Deux:
modifier les propriétés de la .fichier xaml:
Construire L'Action: Ressource Intégrée
Outil Personnalisé: MSBuild: UpdateDesignTimeXaml
- assurez-vous que votre application est bien construite.xaml est défini à "ApplicationDefinition "
- supprimer le dossier " obj " dans le projet, reconstruire.
- Si le problème persiste, se débarrasser du caractère "_" dans votre espace de noms.
j'ai eu la même erreur de construction mais l'action de construction était déjà réglée sur Page. Essayer de définir L'Action de construction à la définition D'application (erreur: il ne peut y avoir qu'une seule instance de cela), et la remettre en Page, a corrigé l'erreur de construction. On dirait de la magie noire, mais ça a marché pour moi.
Voici une autre possibilité, après avoir épuisé tout ce qui précède (ainsi que quelques autres dispersés sur internet): assurez-vous que votre objet de démarrage est correctement réglé sur [Project].App dans votre projet Propriétés > onglet Application.
j'avais renommé certains namespaces, et quelque part dans le processus VS défini l'objet de Démarrage À"(not set)".
ma solution était de définir la propriété Build Action de Package.appxmanifest à AppxManifest. :)
1) dans le fichier xaml, cochez le x:Nom de la mise en page principale. Renommer 2) compiler. Il devrait lancer des erreurs 3) retournez au fichier xaml et donnez le même nom de classe que le code associé derrière file has (.cs file) inclut également l'espace de noms. eg: si namespace est "X" et le nom de classe est "Y", x: Name = " X. Y" 4) compiler. Il devrait fonctionner.
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 échoué. Ce qui me conduisent à penser que le na pas enregistrer correctement. Par Conséquent, Ctrl + S . Qui a résolu mon problème.
après des compilations réussies, lorsque l'erreur se produit, fermez VS, supprimez le caché .vs dossier dans votre projet (ceci efface intellisense). Ouvrez VS, l'erreur a disparu.
dans mon cas, j'avais fixé l'action de construction de la page XAML à Embedded Resource
,
le retour à Page
a réglé le problème.