c# - nombre - initializecomponent does not exist in the current context xamarin
El nombre ''InitializeComponent'' no existe en el contexto actual. No se puede obtener ayuda en búsquedas de red (10)
- Asegúrese de que BuildAction de su App.xaml esté configurado en "ApplicationDefinition"
- Eliminar la carpeta "obj" en el proyecto, reconstruir.
- Si el problema persiste, deshazte del carácter "_" en tu espacio de nombres.
Hola, recibo un error de InitializeComponent
en mi página de app.xaml.cs
He revisado la red y todo funciona, pero no funciona. Por favor ayuda.
Archivo 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
}
}
Archivo 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>
He subido los contenidos de app.xaml
. No hice ningún cambio en eso.
1) En el archivo xaml, marque la x: nombre del diseño principal. Renombrarlo 2) Compilar. Debe arrojar errores 3) Volver al archivo xaml y dar el mismo nombre de clase que el código asociado detrás del archivo tiene (archivo .cs) También incluye el espacio de nombres. por ejemplo: si el espacio de nombres es "X" y el nombre de la clase es "Y", x: Nombre = "XY" 4) Compilar. Deberia de funcionar.
Aquí hay otra posibilidad, después de agotar todo lo anterior (así como algunos otros dispersos por Internet): asegúrese de que su objeto de inicio esté configurado correctamente en [Proyecto] .App en la pestaña Propiedades del proyecto> Aplicación.
Cambié el nombre de algunos espacios de nombres, y en algún punto del proceso, VS configuró el objeto de Inicio como "(no configurado)".
Después de compilaciones exitosas, cuando ocurra el error, cierre VS, elimine la carpeta oculta .vs en su proyecto (esto borra intellisense). Abierto VS, el error se ha ido.
En mi caso, establecí la acción de compilación de la página XAML en el Embedded Resource
, al revertirlo a la Page
solucionó el problema.
Esta es la misma pregunta y respuesta aquí: el nombre ''InitializeComponent'' no existe en el contexto actual.
Es posible que obtenga este error cuando importe una clase de otro proyecto o cambie la ruta del archivo xaml o el espacio de nombres del archivo xaml o del archivo .cs posterior.
Uno: puede tener un espacio de nombres que no es el mismo que el que tiene en su nuevo proyecto
namespace TrainerB.MVC.Forms
{
public partial class AboutDeveloper : ContentPage
{
public AboutDeveloper()
{
InitializeComponent();
}
}
}
Como puede ver, el espacio de nombre en el archivo importado comienza con el nombre anterior del proyecto: "Entrenador B" , pero su nuevo proyecto puede tener un nombre diferente, así que simplemente cámbielo al nombre nuevo del proyecto correcto, tanto en el archivo .xaml como el archivo .cs detrás.
Dos:
cambie las propiedades del archivo .xaml a:
Build Action: Recurso incrustado
Herramienta personalizada: MSBuild: UpdateDesignTimeXaml
Esto funcionó para mí, intente Ctrl + S en las páginas que le dan este error. El error se produjo cuando mi estudio visual se bloqueó (reinició). Las páginas en las que estaba trabajando (antes del reinicio) no se pudieron construir. Lo que me llevó a pensar que no se guardó correctamente. Por lo tanto, Ctrl + S. Eso resolvió mi problema.
Mi solución fue establecer la propiedad Build Action de Package.appxmanifest en AppxManifest. :)
Tuve el mismo error de compilación pero la acción de compilación ya estaba configurada en Página. Si se prueba la acción de compilación establecida en ApplicationDefinition (error: solo puede haber una instancia de eso) y se vuelve a establecer en la página, se corrigió el error de compilación. Suena a magia negra, pero funcionó para mí.
Hay dos causas potenciales de esto .
La más común es la x: la clase no coincide con el espacio de nombre MainPage.xaml. Asegúrese de que x: Class en MainPage.xaml tenga el espacio de nombre correcto.
La segunda causa más común de este problema es que "Build Action" no está configurada en "Page" para MainPage.xaml!