Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
.NET 5 WPF-Projekt erzeugt keine Main-Methode
DarkSide47
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

.NET 5 WPF-Projekt erzeugt keine Main-Methode

beantworten | zitieren | melden

Hallo zusammen,

ich bin da auf ein Problem gestoßen, das ich bisher nicht selbständig lösen konnte und für das ich hier auch keinen bestehenden Eintrag gefunden habe.
Daher hoffe ich auf ein paar hilfreiche Tipps.

Ich habe vorgestern Visual Studio 2019 Community Edition auf die Version 16.9.3 aktualisiert.
Ich erstelle nun ein neues Projekt vom Typ "WPF-Anwendung" mit dem .NET 5.0 als Zielframework.

Wenn der Erstell-Assistent fertig ist und nachdem die IDE sich vollständig geöffnet hat und auch die Hintergrundaktionen zu Ende gelaufen sind, starte ich das Projekt mittels F5.
Man beachte bitte, dass ich noch keinerlei inhaltliche Änderungen vorgenommen habe.

Allerdings kracht es direkt mit folgender Fehlermeldung:

Erstellen gestartet...
1>------ Erstellen gestartet: Projekt: test8, Konfiguration: Debug Any CPU ------
1>CSC : error CS5001: Das Programm enthält keine als Einstiegspunkt geeignete statische Main-Methode.
1>Die Erstellung des Projekts "test8_04hfkclo_wpftmp.csproj" ist abgeschlossen -- FEHLER.
========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========


Folgendes habe ich daraufhin geprüft:
- Es tritt ausschließlich bei neu angelegten Projekten auf, die als Zielframework .NET 5.0 oder .NET-Core 3.1 haben.
-> Bei Projekten mit Zielframework .NET-Framework 4.6 / 4.7.2 tritt es nicht auf.

- Es spielt auch keine Rolle, ob ich ein WPF-oder WinForms-Projekt verwende, sobald ich das oben genannte Zielframework verwende, knallt es.

- Ich konnte weiterhin herausfinden, dass die Methode offensichtlich nicht generiert wird.
-> Im Verzeichnis : ...\test8\test8\obj\Debug\net5.0-windows\ wird keine App.g.cs bzw. App.g.i.cs generiert. Alle anderen Dateien, wie bspw für die MainForm, etc. sind aber vorhanden.

- Ich habe nun auch die Reparatur-Funktion des Visual Studio Installers benutzt, aber das hatte ebenfalls keinen Effekt.

- In der Windows-Ereignisanzeige konnte ich nirgends irgendeine Art von Fehlermeldung finden.
- Auch ein abschalten des Windows Defenders brachte keine Änderung am Verhalten.
- Ich habe auch keine Plugins/Add-Ins/Add-Ons für VS im Einsatz, es ist wirklich die reine Standard-IDE.


Vielleicht kann mich jemand in die richtige Richtung schubsen.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Kann ich nicht nachvollziehen.

Erstelle ich ein WPF for .NET Core Projekt und setze die Runtime auf 5.0 Current, dann läuft das alles sauber durch (bis auf die NuGet Infos, die man in dem Kontext bei nem leeren Projekt ignorieren kann).


Build started...
NuGet package restore failed. Please see Error List window for detailed warnings and errors.
Error occurred while restoring NuGet packages: The operation failed as details for project WpfApp1 could not be loaded.
1>------ Build started: Project: WpfApp1, Configuration: Debug Any CPU ------
1>You are using a preview version of .NET. See: https://aka.ms/dotnet-core-preview
1>WpfApp1 -> C:\source\WpfApp1\WpfApp1\bin\Debug\net5.0-windows\WpfApp1.dll
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========


Ich glaube bei Dir stimmt was nicht beim Thema .NET 5. Sicher, dass Du das richtige Zeug installiert hast?
Mit dotnet --info siehst Du, welche SDKs und welche Runtimes installiert sind.
private Nachricht | Beiträge des Benutzers
DarkSide47
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

Re: .NET 5 WPF-Projekt erzeugt keine Main-Methode

beantworten | zitieren | melden

Hallöchen,

erst Mal vielen Dank, dass du die Zeit und Mühe investiert hast.

Vielleicht kurz Vorweg. Ich habe .NET 5.0 nicht explizit installiert. Ich hatte es nach der Aktualisierung auf 16.9.3 einfach in der UI zur Auswahl als Zielframework.
Ich gehe daher davon aus, dass es mit der Version einfach mit installiert/aktiviert wurde.

Wie dem auch sei, ich habe hier das Ergebnis von dotnet --info kopiert. Sieht für mich allerdings korrekt aus.


.NET SDK (gemäß "global.json"):
 Version:   5.0.201
 Commit:    a09bd5c86c

Laufzeitumgebung:
 OS Name:     Windows
 OS Version:  10.0.19042
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\5.0.201\

Host (useful for support):
  Version: 5.0.4
  Commit:  f27d337295

.NET SDKs installed:
  5.0.201 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.26 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.26 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.26 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.13 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Zeig mal Deine csproj.
Zitat
Ich gehe daher davon aus, dass es mit der Version einfach mit installiert/aktiviert wurde.
Ja und nein.
Nur die .NET Hauptversionen sind teil des VS Installers
private Nachricht | Beiträge des Benutzers
DarkSide47
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

beantworten | zitieren | melden

Hier die csproj-Datei:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net5.0-windows</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>

</Project>

private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 3984

beantworten | zitieren | melden

Bei meinem .NET 5-Projekt lautet die erste Zeile:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

Edit: Ok, nach Aktualisierung meines VS 2019 auf Version 16.9.3 lautet die Zeile bei einem neuen WPF-Desktop-Projekt wie bei dir nur noch

<Project Sdk="Microsoft.NET.Sdk">
Das Projekt wird bei mir aber einwandfrei erzeugt und ist ohne Fehlermeldungen lauffähig.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Th69 am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Microsoft.NET.Sdk.WindowsDesktop war der SDK-Identifier für Winforms/WPF-Anwendungen vor .NET 5; also .NET 3.1 und vorher.
Ab .NET 5 bzw seit SDK 5.0.100 ist es Microsoft.NET.Sdk. Funktioniert zudem nur mit TargetFramework net5.0-windows

Es gibt kein Scaffolding, das Microsoft.NET.Sdk.WindowsDesktop mit .NET 5 erstellt.
Daher hatte ich nach dem csproj gefragt.

Also ich sehe keinen Fehler an der csproj oder an der Runtime selbst, basierend auf --info.
Der Fehler muss von was anderem kommen; was, weiß ich leider auch nicht.
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10068

beantworten | zitieren | melden

Die Fehlermeldung sagt doch, keinen Einstiegspunkt gefunden, also fehlt entweder eine main oder du hast die app.xaml.cs gelöscht.
private Nachricht | Beiträge des Benutzers
DarkSide47
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

beantworten | zitieren | melden

Danke für den neuen Input.

Die App.xaml.cs Datei ist definitiv vorhanden.

Eine Main-Methode habe ich nicht explizit implementiert, da es bisher immer so war, dass diese entweder in der gewählten Projektvorlage vom VS schon enthalten war oder automatisch generiert wurde.


Wie dem auch sei.
Ich habe eben Visual Studio komplett deinstalliert und erneut installiert und seither funktioniert es wieder.

Vielen Dank für eure Tipps!
private Nachricht | Beiträge des Benutzers