Laden...

Forenbeiträge von Jaftali Ingesamt 28 Beiträge

23.03.2022 - 19:03 Uhr

.. wo sie eigentlich niemals nicht liegen sollten. Das Windows Profile ist nicht für Client-Synchronization von ganzen Projekten gedacht.

Ich denke nicht, dass das eine mögliche Fehlerursache ist. Die Synchronisation von servergespeicherten Profilen sollte nicht das Problem sein. Ich vermute das Problem eher hier:

https://www.w3.org/International/questions/qa-utf8-bom.de.html

22.03.2022 - 20:13 Uhr

Meine Programmierumgebung
Programmiert wird auf einem Windows-Client in einer Active-Directory-Umgebung, AD-Domaincontroller wird mit Samba realisiert, Windows-Profil wird beim An- und Abmelden mit dem Server synchronisiert, .NET-Projekte liegen auf dem Windows-Profil, Visual Studio Code wird als IDE verwendet, Das Kompilieren und Debuggen funktioniert.

Frage:
Warum stehen in meiner .csproj-Datei Sequenzen von NUL, wenn ich das Projekt auf einem anderen Client öffne?

13.12.2021 - 19:55 Uhr

Hallo myCSharp-Community,

ich beziehe Pakete in Visual Studio Code über Nuget. Meine nuget.config hat den folgenden Aufbau:


<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

Standardmäßig legt Nuget die Pakete in C:\User\name.nuget ab. Gibt es eine Möglichkeit die Packete woanders abzulegen, wie z. B. in einem Unterverzeichnis auf dem Desktop?

27.11.2021 - 21:01 Uhr

Problembeschreibung
Ich installierte für die Benutzer einer Schule die systemweite Version von Visual Studio Code auf allen Clients lokal unter C:\Program\Files.

In unserem Fall wird Visual Studio Code von Benutzern verwendet, die sich in einer Active Directory Domäne befinden (IServ).

Benutzer haben nur Lese- und Ausführungsrechte auf C:\ aber keine Schreibrechte.

Die Benutzer legen Ihre Dateien auf ihr Heimatverzeichnis H:\ ab. Das Verzeichnis befindet sich auf einem Server und wird über eine Ordnerumleitung eingebunden.

Das Verzeichnis extensions-dir wurde beim Start von Visual Studio Code auf H:\Visual Studio Code\ext gesetzt. Die Benutzer mussten sich die VSCode-Erweiterung omnisharp installieren, um in der Programmiersprache C# zu programmieren.

Das Laden, Entpacken und Compilieren der Omnsisharp-Extension im Benutzer-Account funktionierte nicht in Visual Studio Code.

Wir entschieden uns dazu, omnisharp auf einer anderen domain unabhängigen Maschine zu entpacken und alle Abhängigkeiten zu laden. Wir haben die entpackten Dateien dann auf den Client-PCs verteilt unter C:\Program Files\Microsoft VS Code\ext.

Beim Starten von Visual Studio Code aus den Benutzerkonten heraus, wird nun das Verzeichnis extensions-dir auf C:\Program Files\Microsift VS Code\ext gesetzt.

Die Benutzer können nun in Visual Studio Code den Omnisharp-Server starten.

Die Benutzer können das vorkonfigurierte Beispielprojekt Hello World kompilieren.

Wenn die Benutzer eine Änderung im Beispielprojekt vornehmen und erneut debuggen, erscheint die unten abgebildete Fehlermeldung.

Erst wenn Visual Studio Code neu gestartet wird, kann wieder genau einmal kompiliert werden. Danach tritt der Fehler wieder auf.

Hat jemand einen Tipp, wie man das Problem lösen könnte.

Fehlermeldung

[{
"resource": "/c:/Program Files/dotnet/sdk/5.0.403/Roslyn/Microsoft.Managed.Core.targets",
"owner": "msCompile",
"code": "MSB3491",
"severity": 8,
"message": "In die Datei "obj\Debug\net5.0\myapp.GeneratedMSBuildEditorConfig.editorconfig"
konnten keine Zeilen geschrieben werden. Cannot create 'H:\Desktop\frodo\myapp\obj\Debug\net5.0'
because a file or directory with the same name already exists. [H:\Desktop\frodo\myapp\myapp.csproj]",
"startLineNumber": 150,
"startColumn": 5,
"endLineNumber": 150,
"endColumn": 5
}]

06.07.2021 - 07:57 Uhr

Hallo,

wir setzen aktuell die IDE SharpDevelop mit dem .NET-Framework 4.8 ein. Ich würde gern auf Visual Studio Code mit dem .NET5-Framework wechseln. Ich kann leider nicht genau abschätzen, welche Vorteile das für uns als Schule haben könnte. Die meisten Kolleg*innen haben sich an die alte IDE gewöhnt und empfinden das Vorgehen beim Erstellen von .NET-Projekten in VS-Code womöglich umständlich.

Könnt ihr mir ein paar Vorteile erläutern?

Vielen Dank

10.05.2021 - 20:49 Uhr

Guten Tag,

das Standardverzeichnis, aus dem Visual studio Code Extensions lädt, lautet %Userprofile%.vscode\extensions.

Über den CLI-Befehl


code --extensions-dir pfad\zu\anderen\Extensions

kann man eine VS Code-Instanz starten und ihr einen anderen Ort für die Extensions mitteilen. Diese Konfiguration gilt aber nur für die Lebensdauer dieser Instanz.

Kennt ihr eine Möglichkeit, mit der man dauerhaft die Location des Extensions-dir überschreiben kann?

Danke im Voraus!

10.01.2021 - 17:15 Uhr

Hallo,
programmiere C# in Visual Studio Code. Wenn ich die Cursor-Position mit Console.SetCursorPosition(5,50) auf Left 5 und Top 50 setze bekomme ich folgende Exception:

Fehlermeldung:
Ein Ausnahmefehler des Typs "System.ArgumentOutOfRangeException" ist in System.Console.dll aufgetreten.: 'The value must be greater than or equal to zero and less than the console's buffer size in that dimension.'

Muss wohl irgendwie an Powershell liegen:https://github.com/PowerShell/vscode-powershell/issues/1536

Kann man das irgendwie beheben?

Vielen Dank

04.01.2021 - 15:37 Uhr

Wir hatten ja auch schon Visual Studio im Einsatz. Damals in der Version 2010 als man noch kein Microsoft-Account benötigte. Da klickt man ja nur zwei Mal hat man ein fertiges vorkonfiguriertes Projekt vor sich. Da kannst du dann als Lehrer nicht viel falsch machen. Das ganze "Konfigurationsmanagement" muss ja nicht unbedingt Inhalt der Stunde sein, obwohl es auch sehr interessant ist. Bei VS Code kommt man gar nicht mehr daran vorbei.

Mir persönlich ist es auch lieber, die Zusammenhänge zu verstehen. Habe das alles mit Java EE + Maven durch und habe gehofft, dass mein Wissen noch 'ne Weile aktuell ist.

Aber gut, spaß macht's mir und notfalls kommt VS Code erst nächstes schuljahr, wenn ich etwas sicherer bin. aktuell sind wir noch bei SharpDevelop.

04.01.2021 - 10:10 Uhr

Ja das werde ich machen. 👍

04.01.2021 - 09:59 Uhr

Hallo Abt, hallo Th69,

ich habe folgende Extensions installiert: c# ms-dotnettools, code runner (wie in der Anleitung der Community empfohlen)

Nun habe ich aber die von Abt verlinkten Quellen gelesen und dabei festgestellt, dass sich meine .vscode/launch.json auf der Ebene der SLN befindet und nicht im Projektverzeichnis.

Als ich dann die Projektstruktur noch einmal komplett neu aufsetzte, hat mir der VS Code-Editor beim Erzeugen des Konsolen-Projektes innerhalb der SLN mit der angehängten Warnmeldung darauf hingewiesen, dass Debugging-Konfigurationen ergänzt werden müssten. Ich habe bestätigt und das Debugging funktioniert.

Ich habe jetzt bedenken, dass auch meine Schüler diese Information übersehen könnten. Ist es empfohlen nachträglich die Dateien .vscode/launch.json und .vscode/tasks.json per Hand anzulegen oder gibt es dafür einen besseren Weg, über CLI z. B.?

03.01.2021 - 10:03 Uhr

Hallo,

ich unternehme gerade meine ersten Schritte mit Visual Studio Code. Ich habe früher beim Bedienen großer IDEs nichts hinterfragt und stehen nun beim Verstehender Zusammenhänge vor ein paar Schwierigkeiten.

Ich kompiliere meine Projekte z. B. immer mit dem Befehl:

dotnet run

Wenn ich aber über das GUI-Menü Run->start Debugging gehe, erhalte ich die Fehlermeldung, die ich dem Thread als Anlage beigefügt habe.

Würde jemand kurz eine Lösung für dieses Problem beschreiben?

02.01.2021 - 11:15 Uhr

Vielen Dank für eure Einschätzungen. Hättet ihr vielleicht noch einen Praxis-Tipp für mich. Weiter oben wurde davon gesprochen, dass es im .NET-Core-Umfeld so eine Art recommended Verzeichnissstruktur gibt (Stichwort: Standard Directory Layout).

Bei Maven sieht die Sache so aus, wie sie hier beschrieben wird.

Meine Frage: Gibt es neben dem hier genannten Link eine solche Übersicht über das komplette Standard Directory Layout für das .NET-Core-Umfeld auch von offizieller Seite und welcher ist der beste Weg, um ein solches anzulegen. Fügt ihr die Konfigurationsdateien und Folder jedes Mal neu per Hand hinzu, habt ihr ein eigenes Template für bestimmte Zwecke erstellt oder bedient man sich einer Art öffentlichem Template-Repo?

01.01.2021 - 19:03 Uhr

Dazu müsstest Du einen lokalen NuGet Cache aufbauen, zB auf einem extra Share oder Server.

Okay. Alternativ könnte ich den Schülern aber eine vorkonfigurierte Solution mit allen wichtigen Assemblies bereitstellen, die bereits einen Build-Prozess durchlaufen hat?

30.12.2020 - 19:54 Uhr

@Abt nachdem ich auf deinen Rat hin die NuGet.config ergänzt habe, funktioniert es bei mir auch. Vielen Dank für die kompetente und schnelle Hilfe.

Vielleicht habt Ihr meine alten Threads verfolgt und könnt euch noch daran erinnern, dass ich mit meinen Schülern umsteigen möchte von SharpDevelop auf VS Code. Nun ist es so, dass auf den Arbeitsplatzrechnern der Schüler nicht immer eine Verbindung zum Internet verfügbar ist. Das ist z. B. dann der Fall, wenn eine Klausur geschrieben wird oder es Probleme mit dem Provider gibt. Deshalb dazu nochmal 'ne Ergänzungsfrage. Kann man ein Projekttemplate erstellen, das z. B. nur für eine Klassenarbeit verwendet werden soll und zum Lösen der Aufgabenstellungen alle Assemblies enthält?

30.12.2020 - 15:37 Uhr

Erstmal herzlichen Dank für deine wertvolle Antwort.

Du hast geschrieben:

"Dazu kann man auch direkt sagen, dass Du ganz weit weg von der Verzeichnisstruktur bist, die mit .NET empfohlen ist und das .NET Tooling an der Stelle auch verwendet / darauf orientiert"

Ich bin davon ausgegangen, dass mir der Konsolenbefehl

dotnet new console 

eine .NET-konforme Verzeichnisstruktur baut.

Welches Projekttemplate würde man denn verwenden?

30.12.2020 - 12:30 Uhr

Danke für die schnelle Hilfe.

Der Konsolenbefehl:
dotnet add package System.Management --version 5.0.0

gibt bei mir folgende Fehlermeldungen aus:

Fehlermeldung:
error: Das Paket "System.Management" wurde nicht gefunden. Es sind keine Pakete mit dieser ID in folgenden Quellen vorhanden: Microsoft Visual Studio Offline Packages
error: Das Paket "System.Management" ist mit all Frameworks im Projekt "C:...\VS_Code_Projekt.csproj" nicht kompatibel.

Habe ich das richtig verstanden, dass der Interpreter nur die Offline-Quellen durchsucht?

29.12.2020 - 19:19 Uhr

Hallo,

Mein aktuelles Projekt heißt "VS_Code_Projekt", ich habe es in VS Code mit dem Befehl dotnet new console erzeugt Es weist die unten abgebildete Verzeichnisstruktur auf. Würde mir jemand kurz erklären, wie man in VS Code die Assembly/Referenz für System.Management hinzufügt?

VS_CODE_PROJEKT
.vscode
{} launch.json
{} tasks.json
bin\Debug netcoreapp3.1
obj
Debug\netcoreapp3.1
.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
VS_Code_Projekt. Assemblylnfo.es
VS_Code_Projekt.Assemblylnfolnputs.cache
VS_Code_Projekt.assets.cache
VS_Code_Projekt.csproj.CoreCompilelnputs.cache
VS_Code_Projekt.csproj.FileListAbsolute.txt
VS_Code_Projekt.csprojAssemblyReference.cache
project.assets.json
project.nuget.cache
VS_Code_Projekt.csproj.nuget.dgspec.json
VS_Code_Projekt.csproj.nuget.g.props
VS_Code_Projekt.csproj.nuget.g.targets
Program.cs
VS_Code_Projekt.csproj

Danke und viele Grüße

28.12.2020 - 15:51 Uhr

Ja, es ging mir in hauptsächlich um die Ausgabe. Danke für die schnelle Hilfe.

28.12.2020 - 15:43 Uhr

Um das Prinzip einer XOR-Verschlüsselung zu zeigen, möchte ich eine Zeichenfolge mit einem Schlüssel XOR verknüpfen.

Um nun den XOR-Operator anwenden zu können, müsste ich ja die einzelnen Zeichen meiner Zeichenfolge und die des Schlüssels in Bitfolgen der Form 1001000... umwandeln.

Vielleicht ist mein Weg aber auch zu umständlich.

28.12.2020 - 15:09 Uhr

Hallo,

die Methode ASCIIEncoding.ASCII.GetBytes(Zeichenkette) liefert mir die Dezimalzahlen der einzelnen ASCII-Zeichen von dem Übergabeparameter Zeichenkette.

Kennt ihr eine einfache Möglichkeit, um die einzelnen ASCII-Zeichen in ihre Bitfolgen zu konvertieren?

16.11.2020 - 21:21 Uhr

Nutzungsbedingungen sind etwas anderes als Datenschutzrichtlinien. Genauso wenig wie du einen Schüler vorschreiben kannst, dass er dir seine Telefonnummer aushändigt, kannst du ihn vorschreiben seine E-Mail-Adresse bei Microsoft zu hinterlegen.

16.11.2020 - 19:28 Uhr

Die Gründe mögen alle nachvollziehbar sein. Es ändert aber nichts daran: Nicht jeder Schüler lässt sich durch schlüssige Argumentation überzeugen. Man kann einen Schüler nicht dazu zwingen ein Microsoft-Konto anzulegen und bei einer so großen Schule gibt es immer wieder Schüler, die speziell beim Registrieren Sicherheitsbedenken haben.

Ich bin nicht der Admin aber ich kann mir auch vorstellen, dass die einzelnen Lizenzen Gerätebezogen wären, d. h. wir müssten für unsere 400 Clients womöglich 400 MS-Konten erstellen.

16.11.2020 - 18:15 Uhr

Vielen Dank für die Antworten. Ich hatte schon MS Studio Code ins Auge gefasst. Allerdings ist die Sache natürlich nicht so umfangreich dokumentiert wie bei MS Visual Studio Community. Kannst du mir noch einen Tipp geben und sagen, wie bei MS Studio Code der Webserver bereitgestellt wird?

Das Problem bei Visual Studio Community ist, dass man sich ein Microsoft-Konto zulegen muss, um das Produkt auch noch nach Ablauf der 30 Tage nutzen zu können. Jetzt kommt's: Es gibt Schüler, die willigen der Datenschutzerklärung von Microsoft aber nicht ein. Solche Schüler dürfen dann aber vom Unterricht nicht ausgeschlossen werden.

16.11.2020 - 17:04 Uhr

Hallo,

ich bin Lehrer an einer Schule und nutze im Informatikunterricht akuell noch SharpDevelop, um mit den Schülern in der Programmiersprache C# zu programmieren. Nun hat sich er der Lehrplan verändert und neuerdings stehen auch Webservices auf dem Lehrplan.

Die Nutzung von Microsoft Visual Studio ist leider nicht möglich. Hat jemand Erfahrungen mit der Entwicklung von RESTful Webservices in anderen Entwicklungsumgebungen als MS Visual Studio und kann eine Empfehlung aussprechen?

13.09.2020 - 19:51 Uhr

Unwahrscheinlich, dass dies an Visual Studio alleine lag, denn es gab keine Breaking Changes bei den Projektstukturen von VS2017 auf VS2019.
Und abgekündigte Projektstrukturen werden von VS automatisch migriert (seit 2012).

Es könnte auch sein, dass es VS 2012 war, das wir dann auf 2017 oder 2019 gesetzt haben. So genau kann ich das nicht mehr sagen.

Nimm doch die Tipps der Helfer hier an und schau Dir die Alternativen an.
Wir sagen das ja nicht um Dir zu schaden sonden letzen Endes Dir und Deinen Schülern ne bessere Umgebung zu bieten.

Ja, ich bin euch jedenfalls sehr dankbar für eure Empfehlung. Letztendlich seid ihr die Experten. Ihr arbeitet mit .NET regelmäßig und könnt aus Erfahrung sprechen. Wir bewegen uns an der Schule eher auf einem anderen Niveau.

Meine bisherighen Erfahrungen mit der Community-Version waren durchweg positiv (auf dem Heim-PC). Da lief das Rest-Projekt nach wenigen klicks. Dafür kann ich aber auch nicht genau sagen, was da eigentlich genau im Hintergrund passiert. Beispiel: Dem Schüler muss man ja irgendwie erklären, wo sich der Webserver befindet, wo das Binding passiert, wo die Assemblies abgelegt sind und in welcher Datei ich alle Konfigurationen zusammenbringe.

13.09.2020 - 19:22 Uhr

Die Visual Studio Community Edition sollte doch kostenfrei für Bildungseinrichtungen (also auch Schulen) sein:
>
(oder eben alternativ Visual Studio Code).

Und deine Vorwürfe basieren im Endeffekt auf Unwissen über den Bildungssektor.

Ich kann mich an eine Zeit erinnern, da mussten 30 Schüler bei einer Programmier-Klassenarbeit ein Microsoft Visual Studio 2017-Projekt anlegen und öffnen. Bei 10 von 30 Schülern hat das Öffnen 10 Minuten gedauert und das obwohl die Rechnerausstattung angemessen war. Später, nachdem der Systemadmin auf Visual Studio 2019 umgestellt hatte, konnte kein Schüler mehr seine 2017-Projekt öffnen.

Schlussendlich geht's aber nur darum, dass der Schüler Programmierkenntnisse erlangt und in diesem Fall ein paar HTTP-Methoden schreibt. Dabei muss es nicht die neuste IDE sein. Entscheident für den Lernerfolg ist das nicht. Besser ist es sogar, wenn die IDE ehrer weiniger komplex ist, damit sich der Schüler auf das wesentliche konzentrieren kann.

Insgesamt ist das ber alles Off Topic.

13.09.2020 - 10:54 Uhr

Dass das SharpDevelop-Projekt eingestellt wurde, ist mir bekannt. Allerdings eignet es sich in unserem schulischen Umfeld sehr gut, weil die IDE sehr schlank und unkompliziert ist. Zudem weiß ich nicht genau, ob die Schule von jetzt auf gleich Gelder für entsprechende Softwarelizenzen genehmigt bekommt.

Trotzdem sollen die Schüler laut Lehrplan Rest-Webservices schreiben und das Kollegium ist auf C# eingestellt.

Ich störe mich aber auch ein bisschen daran, dass man ein Projekt von einer einzigen IDE wie Visual Studio abhängig macht. Was hindert Microsoft daran, im nächsten Jahr die Lizenzkosten zu erhöhen? Und welchen Risiken birgt es, wenn der Entwickler vollkommen von dem Zusammenspiel der einzelnen .NET-Komponenten abgekoppelt wird.

Daher wäre es ja gut, wenn man so ein Rest-Template auch IDE-unabhängig erstellen könnte. Wäre das denn überhaupt möglich? Kennt jemand irgendwelche Quellen? Ich komme aus der Java-Welt. Da ist es so, wenn man das Build-Management-Tool Maven verstanden hat, ist die IDE eigentlich egal. Gibt es sowas auch im .NET-Umfeld?

12.09.2020 - 23:09 Uhr

Hallo,

ich scheitere daran, einen Rest-Webservice in C# unter sharpDevelop zu schreiben.

Vorweg: 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 muss/möchte nun aber als Entwicklungumgebung die freie IDE SharpDevelop verwenden. Dort habe ich die Controller-Klasse, die die Rest-Services enthalten soll, angelegt.

Diese lässt sich allerdings nicht kompilieren. Die
IDE zeigt 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. Kann hier der Fehler liegen?

Hat hier vielleicht jemand noch einen Rat oder einen Tipp?

Ich habe diesen Beitrag im Übrigen auch in einem anderen Forum, das allerdings einen anderen thematischen Schwerpunkst setzt, verfasst. (Rest-WebService mit C# - Mikrocontroller.net)