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

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Yeats
Thema: NET 7.0 SDK verfügbar für Linux
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Danke @Abt

Zitat
Die jeweilige Distro ist dafür verantwortlich, welche Version sie reinnehmen, wann sie aktualisieren und releasen - nicht Microsoft.
Das ist mir bewusst.

Zitat
Distros übernehmen jedoch meistens nur LTS Releases, was .NET 7 jedoch nicht ist. In .NET (wie auch bei Node...) sind immer gerade Zahlen LTS Releases.
Ahh, verstehe.

Danke für die Info.

Grüße

Thema: NET 7.0 SDK verfügbar für Linux
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Guten Morgen,

Ist das Net7 SDK schon in den jeweiligen Linux Repositories verfügbar? Bis jetzt sehe ich nur die SDK's für 6.0. Oder gibt es eine Seite, wo man den Status dazu sieht?

Grüße

Thema: Json -> Unity3D
Am im Forum: Datentechnologien

Danke für die Antwort Abt.

Ich hatte eine solche Antwort erwartet. Danke für die Bestätigung!

Thema: Json -> Unity3D
Am im Forum: Datentechnologien

Danke für die Antwort T-Virus.

Momentan arbeite ich auch mit JToken, JObject, JArray. Aber damit allokiere ich zu viel Speicher.

Die Struktur unterscheidet sich in einigen Properties/neue Klassen.

Zitat
Zwar wäre es für mich möglich, die Klassenhierarchie dementsprechend anzupassen, aber Anpassungen müssten dann immer übernommen werden und ich verliere die Resilienz, die ich aktuell habe.

Thema: Json -> Unity3D
Am im Forum: Datentechnologien

Verwendetes Datenbanksystem: json

Hallo

Arbeite an einem Unity3D Projekt, welches nach WebGL übersetzt wird, und einen Produktkatalog abbilden soll.

Das Projekt empfängt einen JSON-String (~4MB) der deserialisiert werden muss, um die interne Datenstruktur aufbauen zu können.
Dieser JSON-String besteht dabei aus einem Teil, der von mir kontrolliert wird und aus einem Teil, der von anderen Web-API's befüllt wird.

Die Deserialisierung erfolgt momentan über selbstgeschriebene Klassen, die von JsonConvert erben, da ich damit große Teile des JSON-Strings nicht verarbeiten muss --> hilft mir auch damit, dass ich Änderungen im Teil, die für die interne Struktur irrelevant sind, nicht übernehmen muss.

Aktuell läuft das auch sehr gut und zeigte sich auch gegenüber Änderungen resilient.

Das Problem ist, dass ich damit im Browser einen großen Teil des Heap belaste. Wenn der JSON-String anwächst (≥10MB) bekomme ich damit ein Problem, dass ich nun über den für Unity zugewiesenen Speicherbereich komme und der Unity-Kontext abstürzt.

Auch habe ich die Komponente, die für die Deserialisierung zuständig ist, in einem eigenen nuget in Unity eingebunden. Dieses Nuget-Paket hat eine Abhängigkeit zu Newtonsoft.Json v. 13.0.1.

Jetzt wollte ich diesen Teil überarbeiten, habe mir für die Json-Struktur eine entsprechende Klassenhierarchie geschrieben und über JsonConvert.DeserializeObject auch de-serialisieren können.
Die Benchmarks haben dafür auch einen deutlichen Vorteil gezeigt:

| Method | Mean | Error | StdDev | Gen0 | Gen1 | Allocated |
|--------------- |---------:|---------:|---------:|---------:|--------:|----------:|
| Convert_First | 43.47 ms | 0.505 ms | 0.448 ms | 250.0000 | 83.3333 | 26.54 MB |
| Convert_Second | 45.25 ms | 0.491 ms | 0.435 ms | - | - | 5.82 MB |

Wobei Convert_First der selbstgeschriebene Ansatz war und Convert_Second über JsonConvert.DeserializeObject.

Allerdings stehe ich jetzt vor dem Problem, dass die letzte Version der API, über die der JSON-String kommt, die Struktur etwas geändert hat (im Teil, der nicht in meiner Kontrolle liegt).
Zwar wäre es für mich möglich, die Klassenhierarchie dementsprechend anzupassen, aber Anpassungen müssten dann immer übernommen werden und ich verliere die Resilienz, die ich aktuell habe.

Die Interfaces, die benutzt werden für den Aufbau des JSON-Strings, sind hierbei in TypeScript geschrieben.

Welchen Ansatz könnte ich nun verfolgen, um einerseits die jetzige Flexibilität beizubehalten, aber gleichzeitig den allokierten Speicher gering zu halten?

Grüße,
Yeats

Thema: Wieso kommt beim Start von VS2019 Community-Edition eine "StreamJsoRpc ConnectionLostException"?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

Seit ca. 1 Monat bekomme ich häufig beim Start von Visual Studio 2019 Community Edition (Version 16.8.4) folgende Fehlermeldung:

Fehler
StreamJsonRpc.ConnectionLostException : The JSON-RPC connection with the remote party was lost before the request could complete.
at async StreamJsonRpc.JsonRpc.InvokeCoreAsync(<Unknown Parameters>)
at async StreamJsonRpc.JsonRpc.InvokeCoreAsync[TResult](<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Remote.RemoteEndPoint.InvokeAsync[T](<Unknown Parameters>)
at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

Ich hatte schon versucht, Erweiterungen zu deaktivieren und zu deinstallieren, Visual Studio mehrmals neu installiert.

Auf github gibt es dazu zwar schon einen Eintrag: github. Allerdings bin ich mir nicht sicher in welchem "nächsten" Release das behandelt wird, da es schon im April letztes Jahr berichtet wurde und in dem letzten Release von Januar dieses Jahres hat es auf alle Fälle nicht behoben.

Das Problem ist, sobald dieser Fehler kommt, werden Klassen nicht mehr erkannt und ein einfaches Navigieren zu diesen ist nicht mehr möglich. Die "Error List" aktualisiert sich nicht mehr.

Hat jemand eine Idee wie man diesen Fehler umgehen kann?
Mit freundlichen Grüßen

Thema: Python Skript/ Module in C# integrieren
Am im Forum: Grundlagen von C#

Hallo,

Mittels IronPython kannst du dir in einem C# Programm eine Python ScriptEngine erstellen wo du dann entweder ein Python Skript, oder ein Python File von einem Ordner laden könntest.

Sowas könnte so aussehen:


using System;

using IronPython.Hosting;


namespace Test
{
    public class Program
    {
        public static void Main (string[] args)
        {
            //var engine = Python.CreateEngine();
            //var scope = engine.ExecuteFile("hello.py");

            var engine = Python.CreateEngine();
            engine.Execute("print \"Hello World from Python\"");
            
            Console.ReadKey();
        }
    }
}

Ob du damit ein Python 3.* ansprechen kannst, weiß ich allerdings nicht.

Ansonsten natürlich auch die Ausführung über CLI wie Taipi88 schon beschrieben hat.

Thema: Bower mit Visual Studio mit 2017
Am im Forum: Web-Technologien

Bower muss installiert werden.

npm install -g bower

Allerdings, dass weiß vielleicht jemand anderes besser, wird Bower selten verwendet.

Thema: Umgang und Best Practise bei Updates via NuGet
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo zusammen,

Ich arbeite an einer ASP Core 2.1 Solution wo mehrere Projekte inkludiert sind. Von Zeit zu Zeit möchte ich dann die nuget Pakete aktualisieren. Allerdings ist das jedesmal eine frustrierende Angelegenheit.
Manche Pakete lassen sich ohne weiteres updaten, andere produzieren einen Fehler und weitere Versuche ein Update durchzuführen schlagen fehl.
Mein Ansatz ist dann immer, die Änderungen zurück zu setzen und dann die Pakete in einer anderen Reihenfolge zu aktualisieren.

Deshalb nun meine Frage, wie macht ihr das bei euch?

Mfg

Thema: Eine Liste aus einer CSV-Datei erstellen
Am im Forum: Grundlagen von C#

Wenn du mit WPF arbeitest, sieh dir auch das MVVM Pattern und versuche dich daran zu halten. Es macht einiges einfacher --> Bessere Trennung deiner Logik von deiner UI --> leichteres schreiben von UnitTests

Thema: Web HMI für Hausautomation - Feedback zu Konzept
Am im Forum: Web-Technologien

Darstellung von Messwerten der Wetterstation und Heizung sollte kein Problem sein. Falls du asp.net core benutzen möchtest, musst du halt schauen, ob die dll benutzbar ist. Die Frage ist, wie detailiert und genau eine Visualisierung deiner Beleuchtung machen möchtest 3D Darstellung? Schematische Darstellung? Generell solltest du aber genügend Möglichkeiten finden, dir eine Visualisierung zu basteln.

Da du aber eine Trennung des Frontends vom deiner Logik und Backends angedacht hast, sollte es im ersten Schritt egal sein, ob dein Frontend Vue.js/Angular/... oder eine Konsolenanwendung ist.

Thema: SplitScreen selber gemacht
Am im Forum: GUI: Windows-Forms

Roslyn wird von VS benutzt. Darüber hinaus kann Roslyn auch außerhalb von VS benutzt werden. Roslyn Analyzer sind Erweiterungen die man für den Compiler schreiben kann um zB. eigene Code Inspections machen zu können die man dann wieder in VS einsetzen kann. Ein Beispiel wäre hier

Thema: SplitScreen selber gemacht
Am im Forum: GUI: Windows-Forms

Hallo,
Sieh dir in diesem Zusammenhang mal OmniSharp an. Das wird auch verwendet im C# Plugin für Visual Studio Code. Der Source findet sich auf GitHub und baut auf dem Roslyn Compiler auf.

Thema: Abfrage mit Dapper aber DataGridView bleibt leer
Am im Forum: Datentechnologien

Hallo,
Stimmen die Namen deiner Properties mit den Namen der Spalten in der Tabelle überein?

Thema: Definition wird nicht gefunden, ist jedoch in der AppDomain gelistet
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

Wie setzt du die Referenz auf den Modul-Typ?

Grüße

Thema: [erledigt]Wie kann ich ein dynamic zu einem object casten?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ah, ja so betrachtet macht es natürlich Sinn.

Thema: [erledigt]Wie kann ich ein dynamic zu einem object casten?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

Ich hab ein Verständisproblem mit dynamic.
Folgende Method:


public object Cast(dynamic dynObj){
return (object)dynObj;
}
Diese Methode wird mit einem dynamic object aufgerufen.


public class Test : DynamicObject{xxx}

Test test = new Test();
dynamic obj = (dynamic)test;

var x = Test(obj);
Soweit ist auch alles in Ordnung. Was mich allerdings wundert, wenn der Kompiler den Typen selbst erkennt, dann ist für ihn x vom Typ dynamic.

Wenn ich den Aufruf so gestalte, dann ist x vom Typ object.


object x = Test(obj);

Meine Frage ist jetzt eigentlich nur, warum wird bei impliziter Konvertierung der Typ auf dynamic gecastet?

Grüße

Thema: Eigene IDE bzw Editor: Wie kann ich in Echtzeit Syntax-Fehler anzeigen?
Am im Forum: Rund um die Programmierung

Sieh dir dazu Omnisharp und das LanguageServerProtocol von Microsoft an.

Omnisharp

LanguageServerProtocol

Thema: [erledigt] Jenkins: Build errors; VS: keine Errors
Am im Forum: Rund um die Programmierung

Danke Abt,
Danke Th69

Der Pfad zu MSBuild war falsch konfiguriert.

Thema: [erledigt] Jenkins: Build errors; VS: keine Errors
Am im Forum: Rund um die Programmierung

Habe die ToolsVersion auf 15 geändert.
Damit bekomme ich diese Meldung.

Fehler
This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="4.0".
Auf dem Rechner ist allerdings Visual Studio 2017 Community installiert.

Thema: [erledigt] Jenkins: Build errors; VS: keine Errors
Am im Forum: Rund um die Programmierung

Hallo,

Zur Zeit versuche ich mir Jenkins zu konfigurieren. Dazu habe ich das MSBuild Plugin installiert. Anschließend mit dem Git-Repository verbunden und ein Projekt angelegt.
Ohne die Ausführung der UnitTests, nur als BuildServer, hat es problemlos geklappt.
Anschließend wollte ich noch die UnitTests ausführen lassen. Dazu NUnit auf dem Rechner installiert, NUnit Plugin installiert, den MSBuild Pfad in Jenkins angegeben und anschließend beides zusammen im Build Prozess angegeben.

Allerdings bekomme ich nun beim Kompilieren Fehler durch MSBuild die ich beim Kompilieren mit Visual Studio oder Rider nicht bekomme.

Das Projekt baut auf Framework 4.7 auf.

Folgend ist ein Auszug aus dem Jenkins Output.


C:\Jenkins\Workspace\Continuity>C:\temp\nuget.exe restore 
MSBuild auto-detection: using msbuild version '15.5.180.51428' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\bin'.
Restoring NuGet....

C:\Jenkins\Workspace\Continuity>exit 0 
Path To MSBuild.exe: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
Executing the command cmd.exe /C " chcp 1252 & C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe Continuity.sln " && exit %%ERRORLEVEL%% from C:\Jenkins\Workspace\Continuity
[Continuity] $ cmd.exe /C " chcp 1252 & C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe Continuity.sln " && exit %%ERRORLEVEL%%
Active code page: 1252
Microsoft (R) Build Engine version 4.7.2558.0
[Microsoft .NET Framework, version 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 07.01.2018 13:36:09.
Project "C:\Jenkins\Workspace\Continuity\Continuity.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
  Building solution configuration "Debug|Any CPU".
Project "C:\Jenkins\Workspace\Continuity\Continuity.sln" (1) is building "C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj" (2) on node 1 (default targets).
Project file contains ToolsVersion="12.0". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="4.0". For more information, please see http://go.microsoft.com/fwlink/?LinkId=291333.
PrepareForBuild:
  Creating directory "bin\Debug\".
  Creating directory "obj\Debug\".
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3267: The primary reference "System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL", which is a framework assembly, could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.7". To resolve this problem, either remove the reference "System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" or retarget your application to a framework version which contains "System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL". [C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3257: The primary reference "System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" could not be resolved because it has a higher version "4.1.2.0" than exists in the current target framework. The version found in the current target framework is "4.0.0.0". [C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3267: The primary reference "System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL", which is a framework assembly, could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.7". To resolve this problem, either remove the reference "System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" or retarget your application to a framework version which contains "System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL". [C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj]
GenerateTargetFrameworkMonikerAttribute:
...

BaseClasses\SlExcelStatus.cs(7,29): error CS1002: ; expected [C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj]

Hat jemand da eine Idee dazu?
mfg

Thema: [erledigt] MariaDb - not null column - insert possible
Am im Forum: Datentechnologien

Danke für die Antwort!
Die Beschreibung des Strict Modes ist aber auch recht niedlich.

Thema: [erledigt] MariaDb - not null column - insert possible
Am im Forum: Datentechnologien

Danke felix für den Hinweis.

Aber bitte den letzten Absatz lesen. Ich ERWARTE mir einen Fehler, bekomme aber nur eine Warnung!

Zitat
Die Warnung lautet hierbei auch nur:
Field 'Value' doesn't have a default value!

Würde mir an dieser Stelle nun eigentlich einen Fehler erwarten!

Thema: [erledigt] MariaDb - not null column - insert possible
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: mariadb 10.2
HeidiSql 9.4.0.5125

Hallo,

Habe eine Tabelle


CREATE TABLE `Options` (
	`Id` INT(11) NOT NULL AUTO_INCREMENT,
	`Code` VARCHAR(200) NOT NULL COLLATE 'utf8_general_ci',
	`Value` VARCHAR(10000) NOT NULL COLLATE 'utf8_general_ci',.........

Value ist, wie man sehen kann, auf not null gesetzt.
Allerdings führt folgendes Insert Statement nur zu einer Warnung:

INSERT INTO `Options` (`Code`, `VariantId`) VALUES ('XFSA', 8);

Die Warnung lautet hierbei auch nur:
Fehler
Field 'Value' doesn't have a default value!

Würde mir an dieser Stelle nun eigentlich einen Fehler erwarten!

Kennt jemand den Grund für ein solches Verhalten?
Grüße, Yeats

Thema: [erledigt] Wie kann ich eine .NET Core APP mit Rider IDE debuggen und mit Chrome starten lassen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

@Abt: Danke für den Hinweis. Dann werde ich mal schauen wie das zu konfigurieren ist.

Thema: [erledigt] Wie kann ich eine .NET Core APP mit Rider IDE debuggen und mit Chrome starten lassen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Die Spaces hab ich hinzugefügt, damit nicht in eine URL umgewandelt wird.

Thema: [erledigt] ComboBox in UserControl - SelectedItem wird nicht angezeigt
Am im Forum: GUI: WPF und XAML

Danke,

Hat funktioniert

Thema: [erledigt] Wie kann ich eine .NET Core APP mit Rider IDE debuggen und mit Chrome starten lassen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

Bin am herumprobieren der Rider IDE und versuche mich daran mein Projekt zu debuggen.
Das Projekt ist ein .netcore 1.1, mit JS und Angular. Das bearbeiten und kompilieren funktionieren problemlos. Allerdings bekomme ich es nicht hin, den Source zu Debuggen.
Aus Rider heraus habe ich aber kein Problem den Server zu starten und mich zu verbinden.

Ich schätze mal, dass meine Argumente die ich mitgebe nicht korrekt aufgesetzt sind.
Hierzu meine Arguments:

/site:{ProjectName} /apppool:Clr4IntegratedAppPool
Environmental Variables: ASPNETCORE_ENVIRONMENT: Development
ASPNETCORE_URLS: http://localhost:5000

Was ich, neben dem Debugger, noch gerne hätte, dass beim Starten Chrome gestartet wird.

Hat jemand schon Erfahrung gesammelt, oder kennt hilfreiche Links?

Grüße

Thema: EntityFramework Core - MySql.Data.EntityFrameworkCore - DbUpdateConcurrencyException
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Wenn ich mir das SQL Statement hole und in der DB absetze, kann ich ohne weiteres hinzufügen.

In der Where Bedingung steht


WHERE ROW_COUNT() = 1
 AND `Id`=LAST_INSERT_ID()

Thema: EntityFramework Core - MySql.Data.EntityFrameworkCore - DbUpdateConcurrencyException
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Zitat
Database operation expected to affect 1 row(s) but actually affected 0 row(s). Data may have been modified or deleted since entities were loaded.