Forum: PC-Programmierung Rest-WebService mit C#


von Sid (Gast)


Lesenswert?

Hallo,

ich arbeite gerade an einer Lösung, um mit möglichst geringem Aufwand 
einen beispielhaften Rest-Webservice (HelloWorld) mit C# zu erstellen. 
Er soll in einer Präsentation gezeigt werden.

Die große Herausforderung dabei ist, dass mir aus bestimmten Gründen nur 
die freie IDE SharpDevelop zur Verfügung steht und kein Visual Studio.

Auf dem Windows 10-Rechner hat irgendjemand mal irgendwas mit .NET 
vorinstalliert. Weil ich von dieser .NET-Geschichte nicht so viel Ahnung 
habe, wollte ich erstmal konkret wissen, welche Framework-Version und 
welche Compiler Version vorinstalliert ist.

Weiß jemand, wo .NET-SDK und Compiler standardmäßig unter Windows 
abgelegt sind?

von Drahtverhau (Gast)


Lesenswert?

https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/intro

https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/start-mvc?view=aspnetcore-2.2&tabs=visual-studio

Kommandozeile und Texteditor reicht... Keine Ahnung was sharpdevelop 
sein soll... Wenn dann VSCode oder VisualStudio... Community Edition is 
kostenlos mit allen funktionen

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Sid schrieb:
> Weiß jemand, wo .NET-SDK und Compiler standardmäßig unter Windows
> abgelegt sind?

Nur die .NET Runtime.

Alles andere musst du dir selbst Installieren. Z.B. MS Visual Studio
https://visualstudio.microsoft.com/de/vs/community/

von w.hoehne@outlook.de (Gast)


Lesenswert?

Noch vergessen... Commandozeile "dotnet --info" eingeben... da zeigt es 
auch den ablagepfad an

von Sid (Gast)


Angehängte Dateien:

Lesenswert?

Was mich wundert: Die Registrierung sagt, dass sich das .NET-Framework 
Version 4.8 auf der Maschine befindet (siehe Bild).

Der Befehl dotnet --info in der Kommandozeile gibt allerdings zurück, 
dass sich das.NET Core SDK in der Version 3.1.401 befindet.

Ist das so, dass das eine die Laufzeitumgebung und das andere die 
Entwicklungsumgebung ist?

von Johannes S. (Gast)


Lesenswert?

.Net core ist nicht .Net Framework:
https://de.wikipedia.org/wiki/.NET_Core

von Torben S. (Firma: privat) (torben_25)


Angehängte Dateien:

Lesenswert?

@jojos ...okay verstehe.

In meiner IDE (SharpDevelop - ein Ableger des Mono-Projektes für 
Windows-Systeme) kann ich unter Einstellungen die .NET-Frameworks 
auswählen (siehe Bild)

Ich steige aber nicht durch, wo sich auf meinem Windows-System 
standardmäßig das .NET-Framework befindet, auf das meine IDE mit den 
using-Direktiven zugreift, um z. B. I/O-Bibliotheken einzubinden.

Ich bräuchte halt diese Information, weil sich die Bibliotheken zum 
Entwickeln von HTTP-Webservices

using System.Net.Http;
using System.Web.Http;
using System.Web.Mvc;

nicht in der System-Bibliothek befinden.

Die IDE wird beim Compilieren den Fehler aus:
Der Typ- oder Namespacename 'Http' ist im Namespace 'System.Net' nicht 
vorhanden. (Fehlt ein Assemblyverweis?) (CS0234).

PS: hatte mich, weil ich mein PW auf die schnelle nicht parat hatte, als 
Gast Sid ausgegeben. Hoffe das stört niemanden.

: Bearbeitet durch User
von Johannes S. (Gast)


Angehängte Dateien:

Lesenswert?

die dll müssen in den Verweisen angegeben werden, System.Web.http kommt 
aus dem Asp.net package, das muss eventuell extra installiert werden.
https://forums.asp.net/t/2096814.aspx?Where+do+I+find+system+web+Http

von Arc N. (arc)


Lesenswert?

Irgend W. schrieb:
> Sid schrieb:
>> Weiß jemand, wo .NET-SDK und Compiler standardmäßig unter Windows
>> abgelegt sind?
>
> Nur die .NET Runtime.

Der Compiler ist immer mit dabei siehe System.Runtime.CompilerServices 
und System.CodeDom.Compiler bzw. direkt ausführbar als csc.exe. Pfad 
beim normalen NET-Framework %WINDIR%\Microsoft.NET\Framework\vx.x.xxxxx 
bzw. %WINDIR%\Microsoft.NET\Framework64\vx.x.xxxxx
(nicht wundern, wenn da nur v4.0.30319 als höchste Version auftaucht. 
Der Rest  bis aktuell afair 4.8 sind In-Place-Updates)

Der ganze Rest liegt ansonsten unter C:\Program Files (x86)\Reference 
Assemblies\Microsoft\Framework\.NETFramework

: Bearbeitet durch User
von Torben S. (Firma: privat) (torben_25)


Lesenswert?

Ich hätte nochmal eine Frage zu der Thematik. Ich habe in meiner IDE ein 
ASP.NET-Projekt angelegt. Ich konnte vorab wählen, ob ich ein 
vordefiniertes oder leeres MVC-Projekt anlegen möchte. Ich habe mich für 
das vordefinierte entschieden.

Die IDE hat daraufhin ein Grundgerüst erstellt. Ich habe dann einfachmal 
stumpf auf run geklickt. Dabei regnete es Fehlermeldungen.

Zunächst kann die IDE mit using System.Web.Mvc; nichts anfangen. Ich 
habe dann einfach mal unter C:\Program Files(x86)\Reference 
Assemblies\Microsoft\Framework\v3.5 nachgeschaut. Tatsächlich ersistiert 
dort keine System.Web.Mvc.dll.

Die IDE wirft auch den Fehler  Error CS0234: Der Typ- oder Namespacename 
'Mvc' ist im Namespace 'System.Web' nicht vorhanden. (Fehlt ein 
Assemblyverweis?)

Weiß jemand, wie man dieses Problem löst?

von Arc N. (arc)


Lesenswert?

Torben S. schrieb:
> Zunächst kann die IDE mit using System.Web.Mvc; nichts anfangen. Ich
> habe dann einfach mal unter C:\Program Files(x86)\Reference
> Assemblies\Microsoft\Framework\v3.5 nachgeschaut. Tatsächlich ersistiert
> dort keine System.Web.Mvc.dll.
>
> Die IDE wirft auch den Fehler  Error CS0234: Der Typ- oder Namespacename
> 'Mvc' ist im Namespace 'System.Web' nicht vorhanden. (Fehlt ein
> Assemblyverweis?)
>
> Weiß jemand, wie man dieses Problem löst?

Gibt's was unterhalb von "C:\Program Files (x86)\Microsoft ASP.NET"?
Wenn nicht, dann muss das erst nachinstalliert werden siehe bspw. 
https://stackoverflow.com/questions/26535131/system-web-mvc-missing
Den alten Web Platform Installer scheint es noch zu geben 
https://www.microsoft.com/web/downloads/platform.aspx ansonsten mit 
nuget installieren.

von Torben S. (Firma: privat) (torben_25)


Angehängte Dateien:

Lesenswert?

Hello again,

erstmal vielen Dank für die wirklich hilfreichen Antworten. Ich habe den 
IIS-Server wie vorgeschlagen nachinstalliert. Eine ASP-Webanwendung kann 
ich nun mit der freien IDE SharpDevelop darauf kompilieren lassen. Sie 
enthält allerdings keine REST-Services.

Der folgende Text beschreibt den jetzigen Entwicklungsstand und mein 
aktuelles Problem. Vielleicht gibt es jemand der das schonmal gemacht 
hat und mir hier unter die Arme greifen kann.

Auf dem System, auf dem ich arbeite, kann ich mit Visual Sudio 2019 
problemlos einen Rest-Webservice erstellen. Ich lege dazu einfach ein 
ASP.NET Web Application-Projekt an. Visual Studio erstellt dann ein 
vorkonfiguriertes Projekt, das schon beispielhafte GET und POST-Methoden 
enthält.Die von Visual Studio erstellte beispielhafte Service-Klasse, in 
der die Methoden definiert sind, erbt von irgendeiner 
APIController-Klasse. Die Bibliotheken, die genutzt werden sind 
folgende:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
Den Einstellungen zufolge ist das Zielframework .NET Framework 4.7.2

Ich habe die Controller-Klasse, die die Rest-Services enthalten soll, 
nun unter der freien IDE SharpDevelop angelegt (siehe Bild 
Controller_Klasse). Diese lässt sich allerdings nicht kompilieren. Die 
IDE zeigt die im zweiten Bild dargestellten Fehlermeldungen an. Demnach 
fehlt für fast alles ein Assemblyverweis.

Ich bin irritiert. Sollte das nicht alles vorhanden sein? Schließlich 
funktioniert es doch unter Visual Studio.

Dann ist mir etwas aufgefallen: In der freien IDE SharpDevelop kann ich 
als aktuellstes Zielframework nur das .NET-Framework 4.5.2 auswählen. 
Bei Visual Studio ist dagegen das 4.7.2 voreingestellt.

Hat hier vielleicht jemand noch einen Rat oder einen Tipp?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.