こんにちは、app.xaml.cs
ページでInitializeComponent
のエラーが発生しています。ネットとすべてをチェックしましたが、解決策はありません。助けてください。
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
}
}
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>
app.xaml
コンテンツをアップロードしました。変更は加えていません。
これには2つの潜在的な原因があります。
最も一般的なのは、x:ClassがMainPage.xaml名前空間と一致しないことです。 MainPage.xamlのx:Classに正しい名前空間があることを確認してください。
この問題の2番目に一般的な原因は、MainPage.xamlの「ビルドアクション」が「ページ」に設定されていないことです!
これは同じ質問と回答です: 「InitializeComponent」という名前は現在のコンテキストに存在しません
別のプロジェクトからクラスをインポートするか、xamlファイルのパス、またはxamlまたは.csファイルの背後のネームスペースを変更すると、このエラーが発生する場合があります。
One:新しいプロジェクトにある名前空間とは異なる名前空間を持つ可能性があります
namespace TrainerB.MVC.Forms
{
public partial class AboutDeveloper : ContentPage
{
public AboutDeveloper()
{
InitializeComponent();
}
}
}
ご覧のとおり、インポートされたファイルの名前空間は古いプロジェクト名で始まります: "TrainerB"が、新しいプロジェクトは異なる名前を持っている可能性があります。 .xamlファイルと背後の.csファイルの両方で、正しい新しいプロジェクト名に変更するだけです。
2:
.xamlファイルのプロパティを次のように変更します。
ビルドアクション:組み込みリソース
カスタムツール:MSBuild:UpdateDesignTimeXaml
同じビルドエラーが発生しましたが、ビルドアクションは既にPageに設定されていました。ビルドアクションをApplicationDefinitionに設定して(エラー:そのインスタンスは1つしか存在できません)、ページに戻すと、ビルドエラーが修正されました。黒魔術のように聞こえるが、それは私のために働いた。
1)xamlファイルで、メインレイアウトのx:Nameを確認します。 2)コンパイルします。エラーをスローする必要があります3)xamlファイルに戻り、関連するコードビハインドコード(.csファイル)と同じクラス名を付けます。名前空間も含めます。例:名前空間が「X」でクラス名が「Y」の場合、x:Name = "X.Y" 4)コンパイルします。動作するはずです。
上記のすべて(およびインターネットに散在している他のいくつか)を使い果たした後、もう1つの可能性があります:スタートアップオブジェクトが[プロジェクト]> [アプリケーション]タブで[プロジェクト] .Appに正しく設定されていることを確認します。
いくつかの名前空間の名前を変更し、プロセスのどこかでVSがStartupオブジェクトを「(not set)」に設定しました。
私の解決策は、Package.appxmanifestのBuild ActionプロパティをAppxManifestに設定することでした。 :)
ビルドが成功したら、エラーが発生したら、VSを閉じ、プロジェクトの非表示の.vsフォルダーを削除します(これにより、intellisenseがクリアされます)。 VSを開くと、エラーはなくなりました。
これは私のために働いた、試して Ctrl+S このエラーが発生するページで。私のビジュアルスタジオがクラッシュ(再起動)したときに、エラーが発生しました。作業していたページ(再起動前)は、ビルドに失敗しませんでした。これは、正しく保存しなかったと思うようになりました。したがって、 Ctrl+S。これで問題が解決しました。
私の場合、XAMLページのビルドアクションをEmbedded Resource
に設定し、それをPage
に戻し、問題を修正しました。