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
Build mit Jenkins funktioniert nicht: kein .NET Framework
WLemmy
myCSharp.de - Member



Dabei seit:
Beiträge: 7
Herkunft: Berglen

Themenstarter:

Build mit Jenkins funktioniert nicht: kein .NET Framework

beantworten | zitieren | melden

Servus,

wir haben hier einen Jenkins am Laufen dem ich aktuell c#-Bauen bei bringe. MSBuild setzen wir schon länger ein. Ich habe 2 Projekte die ich mit c# bauen lassen will. Beide Projekte lassen sich mit msbuild auf der Kommandozeile an dem Rechner ohne weitere Einstellungen bauen:

MSBuild.exe x.sln /p:Configuration=Release
MSBuild.exe y.sln /p:Configuration=Release

wenn ich das selbe in meiner Buildpipeline durch den jenkins machen lasse, funktioniert x.sln wie gewünscht, bei y.sln erhalte ich aber den Fehler:

ValidateSolutionConfiguration:
  Die Projektmappenkonfiguration "Release|Any CPU" wird erstellt.
It was not possible to find any installed .NET SDKs.
Install a .NET SDK from:
  [url]https://aka.ms/dotnet-download[/url]

MSBuild verwenden wir die 2022 Version.

Hat jemand eine Idee, an was das grundsätzlich liegen könnte, dass Jenkins von jetzt auf nachher kein .net sdk findet?

Grüße
Lemmy
private Nachricht | Beiträge des Benutzers
dannoe
myCSharp.de - Member



Dabei seit:
Beiträge: 217

beantworten | zitieren | melden

Sind beides .NET Framework Projekte? Oder ist eines vielleicht ein .NET Core/5/6/Standard Projekt?

Kenn mich mit Jenkins nicht aus, aber gibt es da kein Debug Mode, damit die Aufrufe inkl. Parameter im Log landen?
private Nachricht | Beiträge des Benutzers
WLemmy
myCSharp.de - Member



Dabei seit:
Beiträge: 7
Herkunft: Berglen

Themenstarter:

beantworten | zitieren | melden

oh sorry,

sind beides für .net 4.8. Bei
x.sln: <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
y.sln: <TargetFramework>net48</TargetFramework> (die nicht funktioniert)

welche Parameter brauchst du? von msbuild? da ist auser der Configuration:Release nichts weiter angegeben...
private Nachricht | Beiträge des Benutzers
dannoe
myCSharp.de - Member



Dabei seit:
Beiträge: 217

beantworten | zitieren | melden

Dann ist das y-Projekt im neuen SDK-Format. (siehe Übersicht: .NET SDKs für Projekte (Projektdateien))
Ich vermute, dass MsBuild die Projektdatei dann an "dotnet build" übergeben möchte und deswegen auf einen Fehler stößt, weil das .NET SDK nicht installiert ist.
Warum der manuelle Aufruf durch die Kommandozeile funktioniert, könnte folgende Unterschiede haben:

- Unterschiedliche MsBuild Versionen (z. B. durch unterschiedliche PATH Variablen bei Jenkins vs. Benutzer)
- Umgebungsvariablen die das Verhalten von MsBuild steuern

Kann sonst nicht wirklich weiterhelfen, aber vielleicht hilft das beim Recherchieren.

PS: Als Workaround könntet ihr natürlich auch einfach das .NET SDK auf der Jenkins Maschine installieren.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von dannoe am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.840

beantworten | zitieren | melden

Tjo, das kommt davon, wenn man nich eine Minute in die Docs investiert :-)

Das eine ist das alte Projektformat, das andere das neue Projektformat, das man primär mit der .NET CLI baut - und nicht direkt per MSBuild.
private Nachricht | Beiträge des Benutzers
WLemmy
myCSharp.de - Member



Dabei seit:
Beiträge: 7
Herkunft: Berglen

Themenstarter:

beantworten | zitieren | melden

Zitat von dannoe
Dann ist das y-Projekt im neuen SDK-Format.

Danke
Zitat von dannoe
Kann sonst nicht wirklich weiterhelfen, aber vielleicht hilft das beim Recherchieren.

auf jeden Fall.
private Nachricht | Beiträge des Benutzers