2010-08-03 5 views
0

이전에 제작중인 프로젝트의 모든 응용 프로그램 수준 리소스가 App.xaml에 저장되었습니다. 그런 다음 VS 2008에서 2010로 마이그레이션하기로 결정했으며 문제가 시작되었습니다.Visual Studio 2010은 Application.xaml을 사용합니다. 블렌드 4는 App.xaml을 사용합니다.

마이그레이션 후 일반적인 시작 창 대신 테스트 창을 사용하여 약간의 테스트를 시도했습니다. 시작 객체를 변경 한 후 갑자기 많은 컴파일 오류가 발생했는데 어떤 결과가 나오지 않아서 (프로젝트 설명과 함께) 응용 프로그램 수준 리소스를 보유한 두 개의 파일 인 App.xaml (원래)이 발견되었습니다. , Application.xaml (이 시점에서 실제로 비어 있음) 필자는 모든 리소스 (병합 된 사전 포함)를 Application.xaml로 마이그레이션했으며 Visual Studio와 관련하여 모든 것이 다시 세계와 맞았습니다.

그런 다음 Blend가 여전히 App.xaml을 사용하고 싶어한다는 것을 알게되었습니다. 몇 가지 리소스를 만들어 Application.xaml에 배치하고 Blend로 컴파일 할 때 사용되지 않는 것을 보았습니다 (하지만 VS로 컴파일 할 때 사용되었습니다).

여기서 xaml이 최상위 WPF 리소스 파일을 지정합니까? 이것은 당신이 무엇을 선택 프로그래밍 언어에 따라 명명에 약간의 차이가 있습니다

+0

나는 vs2010을 가지고 있으며, application.xaml을 본 적이없는 App.xaml을 생성합니까? VS 최신 이니? –

+1

.csproj 파일에서 실수로 이름이 바뀐 것이 아니라고 확신합니까? 나는 vs2010이 출시 된 이래로 그런 경험을하지 못했습니다 ... – Goblin

+0

이전에 vbproj 파일을 편집 한 적이 없지만 App.xaml에 을 변경하면 속임수. 나는 처음에 그것이 어떻게 일어 났는지 알고 싶다. 고블린, 답글을 작성하십시오. 답으로 설정하겠습니다. 도와 주셔서 감사합니다! – CodeWarrior

답변

2

코리 ... 손에서 받고있다. Visual Basic WPF 프로젝트는 Application.xaml을 사용하고 C# 프로젝트는 App.xaml이라는 이름을 사용합니다.

아마 모든 .NET 응용 프로그램에는 Main 메서드가 필요합니다. 또한 Windows 응용 프로그램은 Windows 메시징 시스템에 연결하기 위해 메시지 펌프가 필요합니다. WPF에서는 Application 클래스를 사용하여 Windows 메시지 청취를 시작할 수 있습니다.

다음은 명시 적으로 수행 할 수있는 방법입니다.

VB

Public Class Startup 

    <STAThread()> 
    Shared Sub Main() 
    Dim app As New Application() 
    Dim window As New MainWindow() 

    window.Show() 
    app.Run() 

    End Sub 

End Class 

C#을

public class Startup 
    { 


    [STAThread()] 
    public static void Main() 
    { 
    Application app = new Application(); 
    MainWindow window = new MainWindow(); 

    window.Show(); 
    app.Run(); 

    } 
} 

코드의 유형을 생성하는 WPF 응용 프로그램에 공통이기 때문에 해당 파생되는 XAML 파일과 클래스를 정의하여이 코드를 작성하는 MSBuild를 말할 수 System.Windows.Application에서 빌드 작업을 'ApplicationDefinition'으로 지정합니다. 상황에

enter image description here

대신 VbProj 파일을 편집, 당신은 솔루션 탐색기에서 올바른 파일을 선택하고 BuildAction을 변경할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 이전에 vbproj 파일을 직접 편집하여 문제를 해결했지만 방법도 사용할 수 있었으며 설명과 스크린 샷은 좋은 통찰력을 제공했습니다. 다시 한 번 감사드립니다! – CodeWarrior

관련 문제