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.
Il y a deux causes potentielles à cela.
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.
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!
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
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.
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.
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)".
Ma solution a été de définir la propriété Build Action de Package.appxmanifest sur AppxManifest. :)
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.
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.
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.