WPF не имеет точки входа - PullRequest
0 голосов
/ 13 июня 2018

Я использую SharpDevelop и по моему усмотрению переместил App.xaml в подкаталог.

Когда я пытаюсь запустить / отладить приложение, C # говорит, что мое приложение не имеет точек входаили метод статического основного (CS5001).

Edit < Undo или перемещение в основную папку по умолчанию не будут работать.

Что не так?

Редактировать В настройках проекта не прослушиваются классы / методы: enter image description here

App.xaml

<Application x:Class="SongManager.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Startup="Boot"> </Application>

App.xaml.cs

using System;
using System.Windows;
using SmuleTools;

namespace SongManager {
    public partial class App : Application {
        private Account user;

        public App() {

        }

        public Account getAccount() {
            return this.user;
        }

        [STAThread]
        private void Boot(object sender, StartupEventArgs e) {
            Login login = new Login();

            login.AuthSuccess((Object result) => {
                this.user       = (Account) result;
                Manager window  = new Manager(this);
                window.Show();
                login.Close();
            });

            login.Show();
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Решение немного сложнее, но просто .

После перемещения основного файла .xaml действие Build будет потеряно. Это не в настройках проекта / компилятора!

Пошаговая инструкция:

  1. (красная отметка) Нажмите на файл .xaml (для образца, App.xaml)
  2. (синяя метка) Перейдите к Окно свойств (с правой стороны!)
  3. (зеленая отметка) Изменить Other > Build action на ApplicationDefinition

Снимок экрана

enter image description here

Вот и все!

0 голосов
/ 13 июня 2018

Попробуйте добавить Main() метод к вашему App классу:

[STAThread]
public static void Main()
{
    App application = new App();
    application.Run();
}

По умолчанию он должен генерироваться при сборке приложения.

...