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 jogibear9988
Thema: SQL in List<T>
Am im Forum: Grundlagen von C#

Zitat von Palladin007
Vielleicht ist LINQ2DB ein wenig schneller, aber rechtfertigt dieser Vorteil, dass man auf EFCore mit allen seinen Vorteilen und Change Tracking (was man auch abschalten kann) verzichten muss?
Ganz ehrlich: Dieses Framework bildet den Kern der Anwendung, der sollte sitzen und da setze ich lieber auf EFCore, das weit weit umfangreicher getestet ist, weil es ungefähr überall genutzt wird.

Kommt halt darauf was für features man braucht. Und es gibt eben noch andere Frameworks als EF-Core, das wollte ich eben erwähnen.
Auch linq2db ebenso durch tausende Tests abgedeckt.
Ich hatte (es zumindest früher), häufig so das ich viele features in SQL nicht mit EF-Core als linq abbilden konnte. Da war zu der Zeit linq2db weiter (Merge, Window Functions). Weiß nicht wie da der aktuelle Stand mit EF-Core ist, wir haben uns EF-Core dann nicht mehr angeschaut.

Thema: SQL in List<T>
Am im Forum: Grundlagen von C#

Wenn es rein um die Perfomance geht, oder du einfach nur einen ORM Mapper für Typisierte SQL Abfragen brauchst, kann ich auch noch linq2db empfehlen (https://github.com/linq2db/linq2db). Das bietet Typsicheres SQL via Linq wie EFCore auch, aber häufig ein klein bisschen performanter, jedoch auch mit weniger features (wie z.b. kein Change Tracking)

Thema: Speicherverbrauchs Ideen für C# Applikation
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hab den code genutzt um die leere objekt größe zu ermitteln: https://www.codeproject.com/Articles/1254217/Calculating-Heap-Size-of-Managed-Objects

Thema: Speicherverbrauchs Ideen für C# Applikation
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ein "Tag" braucht bei uns ca. 500 Bytes als Leeres Objekt (durch die Verschiedenen Properties die wir im Tag haben (Min/Max Value, Scripte, ...)). Das ist aber noch ohne Strings wie dem Tag Namen und der Adresse. D.h. wenn ich 1.5mio tags habe, welche im speicher sind, dann habe ich alleine dafür knapp 1GB speicher, da ich aber noch strings wie Name, Adresse und Beschreibung habe, komme ich auf ca 1.5GB.

Das ganze funktioniert ja so auch, ich überlege einfach nur was, und ob ich es reduzieren kann oder soll.

Ein Tag hat bei uns z.b. über 30 Properties wo man ihn konfigurieren kann, wie archivierung, meldung erzeugen, usw...

Thema: Speicherverbrauchs Ideen für C# Applikation
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

wir haben eine Applikation, ein Visualisierungssystem für PLCs.

Aus Performance Gründen halten wir immer alle aktuellen werte als Klasse im Speicher. Dadurch das wir Visualiserungen haben mit mehr als 1,5 Mio Variablen, haben wir einen ganz schönen Speicherverbrauch.
da ja jede Variable durch eine Klasseninstanz repräsentiert wird.

Nun bin ich am überlgen das ganze etwas zu reduzieren, dazu ein paar fragen:

- Was braucht ein leeres Feld vom Type "object" einer Klasse im Speicher? Ich würde im Moment mal auf 8 Byte tippen, oder täusche ich mich da?
- Was braucht ein Bool? Würdet Ihr es als sinnvoll erachten mehrere Bool's in eine Flags enum zu verstecken (nur zur speicheroptimierung?)

Thema: Problem mit dynamisch compiliertem Code....
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

NUn gehts...



          const string systemLinqQueryableName = "System.Linq.Queryable";
            var systemLinqQueryableAssembly = Assembly.Load(systemLinqQueryableName);
                MetadataReference.CreateFromFile(AssemblyLoader.AssemblyLoader.GetAssemblyPath(systemLinqQueryableAssembly)),

Thema: Problem mit dynamisch compiliertem Code....
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

wir verwenden in unserer Applikation Roslyn um dynamisch Code zu kompilieren...

Nun bekomme ich bei folgender Klasse:


using MCC.Common.ServiceInterfaces.DTO.CacheableQuery;
using MCC.VISU.DL;
using MCC.VISU.Services.VisuServiceInterfaces.DTO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Globalization;
using LinqToDB;
using System.Linq.Dynamic.Core;

namespace CachableQuery
{
    public class REPORT_SrmStatictisQuery : ICachableQueryScript
    {
        public object Run(object[] parameters)
        {
            DateTime @from = DateTime.Now; // (DateTime)parameters[0];
            DateTime to = DateTime.Now; //(DateTime)parameters[1];


            using (var db = new VisuDb())
            {
                var retVal = new List<Data>();

                var tagsQry = db.Tags.Where(x => Sql.Like(x.Name, "SRM.%.ServiceData.%"));
                var p = Expression.Parameter(typeof(TagDTO));

                if (parameters[2] != null)
                {
                    var srmNames = ((string)parameters[2]).Split(',');
                    Expression e = Expression.Call(Expression.Property(p, "Name"), typeof(string).GetMethods().First(x => x.Name == "StartsWith" && x.GetParameters().Length == 1), Expression.Constant("SRM." + srmNames[0] + ".ServiceData."));
                    foreach (var nm in srmNames.Skip(1))
                    {
                        e = Expression.Or(e, Expression.Call(Expression.Property(p, "Name"), typeof(string).GetMethods().First(x => x.Name == "StartsWith" && x.GetParameters().Length == 1), Expression.Constant("SRM." + nm + ".ServiceData.")));
                    }
                    tagsQry = tagsQry.Where(Expression.Lambda<Func<TagDTO, bool>>(e, p));
                }

               ....

                return retVal;
            }
        }
    }
}


den Fehler:

Fehler
: "REPORT_SrmStatictisQuery.cs(66,45): error CS1503: Argument 2: cannot convert from 'System.Linq.Expressions.Expression<System.Func<MCC.VISU.Services.VisuServiceInterfaces.DTO.TagDTO, bool>>' to 'System.Func<MCC.VISU.Services.VisuServiceInterfaces.DTO.TagDTO, bool>'"



Problem ist, in Visual STudio kann er die Klasse ohne Probleme übersetzen. Aber irgendwie findet er die Implementierung in der Queryable Klasse nicht wenn ich Roslyn selber starte.

Als wir Roslyn noch aus dem Net-Framework 4.8 aufgerufen haben hat das so funktioniert. Seit wir nun auf netcore 6 sind geht es nicht mehr...

Mein Roslyn Aufruf sieht ungefähr so aus:


  var st = SourceText.From(code.ToStream(), Encoding.UTF8, canBeEmbedded: true);
            SyntaxTree syntaxTree = CSharpSyntaxTree.ParseText(st,
                new CSharpParseOptions(kind: SourceCodeKind.Regular, languageVersion: LanguageVersion.Latest), path: codefileName);
            string assemblyName = Path.GetRandomFileName();

            var emitOptions = new EmitOptions(debugInformationFormat: DebugInformationFormat.PortablePdb );
            var embeddedTexts = new[] { EmbeddedText.FromSource(syntaxTree.FilePath, syntaxTree.GetText()) };

var references = new List<MetadataReference>()
            {
                MetadataReference.CreateFromFile(AssemblyLoader.AssemblyLoader.GetAssemblyPath(systemCollectionsAssembly)),
                MetadataReference.CreateFromFile(AssemblyLoader.AssemblyLoader.GetAssemblyPath(systemRuntimeAssembly)),
                MetadataReference.CreateFromFile(AssemblyLoader.AssemblyLoader.GetAssemblyPath(netstandardAssembly)),
                MetadataReference.CreateFromFile(AssemblyLoader.AssemblyLoader.GetAssemblyPath(systemComponentModelAssembly)),
                MetadataReference.CreateFromFile(AssemblyLoader.AssemblyLoader.GetAssemblyPath(typeof(object).Assembly)),
                ....
            };

            if (neededAssemblys != null)
            {
                foreach (var neededAssembly in neededAssemblys)
                {
                    references.Add(MetadataReference.CreateFromFile(AssemblyLoader.AssemblyLoader.GetAssemblyPath(neededAssembly)));
                }
            }

  var compilation = CSharpCompilation.Create(
                assemblyName,
                syntaxTrees: new[] { syntaxTree },
                references: references,
                options: new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary,
                    optimizationLevel: OptimizationLevel.Debug));

            using (var ms = new MemoryStream())
            using (var msPDB = new MemoryStream())
            {
                EmitResult result = compilation.Emit(ms, pdbStream: msPDB, options: emitOptions, embeddedTexts: embeddedTexts);


hat jemand ne idee?

Thema: Wie kann man in Visual Studio zwei Projekte gleichzeitig starten?
Am im Forum: Grundlagen von C#

Es ist durch den compatibility mode aber erlaubt.

Port from .NET Framework to .NET 6 - .NET Core

zumindest unter windows.

Thema: Trigger in CodeBehind erzeugen
Am im Forum: GUI: WPF und XAML

Muss es denn ein Trigger sein oder kannst du dich auch an die Events hängen?

Dann kannst ja einfach sowas


public static IEnumerable<T> FindVisualChilds<T>(DependencyObject depObj) where T : DependencyObject
{
    if (depObj == null) yield return (T)Enumerable.Empty<T>();
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
    {
        DependencyObject ithChild = VisualTreeHelper.GetChild(depObj, i);
        if (ithChild == null) continue;
        if (ithChild is T t) yield return t;
        foreach (T childOfChild in FindVisualChilds<T>(ithChild)) yield return childOfChild;
    }
}
von https://stackoverflow.com/a/978352/579623

verwenden und alle PathGeometrys suchen

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Fand diese Info zu Blazor nun auch Interessant: Es wird keine direkte DragDrop Unterstützung innerhalb des Frameworks von MS geben - Microsoft Won't Do Drag-and-Drop for Blazor -- Visual Studio Magazine

Thema: Retriggerbarer Singlethread (aber nur mal)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Dachte für dieses Problem gibts vlt. schon was im Framework (oder was in die Richtung).

Überlege ob es eine Möglichkeit gibt das ohne Lock zu implementieren...

Thema: Retriggerbarer Singlethread (aber nur mal)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Mein Kollege hatte mal das Programmiert:


    public class ThreadControl : IDisposable
    {
        private readonly object _wakeUpLock = new object();

        private readonly Action _workerThreadLoop;

        private readonly Timer _workerThreadWakeupTimer;

        private volatile bool _go;

        private volatile bool _stopThread;

        private Thread _workerThread;

        public WorkerThreadControl(Action workerThreadLoop)
        {
            _workerThreadLoop = workerThreadLoop;
            _workerThreadWakeupTimer = new Timer(state => WakeUpTimer(), null, -1, -1);
        }

        public void Dispose()
        {
            lock (_wakeUpLock)
            {
                _stopThread = true;
                Monitor.Pulse(_wakeUpLock);
            }

            if (_workerThread != null && !_workerThread.Join(5000))
            {
                _logger.Warn(GetType().Name, "Worker Thread stop did not respond...");
                _workerThread.Abort();
                _workerThread.Join();
                _workerThread = null;
            }
        }

        public void StartInternal()
        {
            if (_workerThread == null)
            {
                _workerThread = new Thread(() => _workerThreadLoop());
                _workerThread.Start();
            }
        }

        public void Wait(int timeout, out bool stop)
        {
            lock (_wakeUpLock)
            {
                while (!(_stopThread || _go))
                {
                    _workerThreadWakeupTimer.Change(timeout, -1); // start
                    Monitor.Wait(_wakeUpLock); // Lock is released while we’re waiting
                    _workerThreadWakeupTimer.Change(-1, -1); // stop
                }

                stop = _stopThread;
                _stopThread = false;
                _go = false;
            }
        }

        public void WakeUp()
        {
            Task.Factory.StartNew(() =>
            {
                lock (_wakeUpLock)
                {
                    _go = true;
                    Monitor.Pulse(_wakeUpLock);
                }
            });
        }

        private void WakeUpTimer()
        {
            lock (_wakeUpLock)
            {
                _go = true;
                Monitor.Pulse(_wakeUpLock);
            }
        }
    }

Ich denke das geht doch bestimmt einfacher.

Auch Thread.Abort sollte raus, geht in Netcore eh nicht mehr. Und denke wir brauchen auch keinen extra Thread

Nur über den ThreadingTimer, ich kann zwar die Zeit auf 0 setzen, aber was passiert wenn der Timer gerade läuft? Woher weiß ich wann ich die Zeit hochsetzen muss.

Thema: Retriggerbarer Singlethread (aber nur mal)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

bin auf der Suche nach einer speziellen Klasse, bzw. wir haben schon eine wollte aber wissen, vlt. gibt es sowas ja direkt im Framework.

Wir haben eine Action welche in bestimmten Intervallen aufgerufen werden muss. Glkeichzeitig brauche Ich auch einen externen Call, (z.b. WakeUp) der die Action, wenn Sie gerade nicht läuft, sofort startet. Dieser WakeUp kann mehrmals während die Action läuft aufgerufen werden, soll die Action danach aber nur ein mal noch Triggern. Diese soll aber sofort getriggert werden, und nicht erst wenn der timer wieder abgelaufen ist.

Ein Kollege von mit hat das vor Jahren recht kompliziert implementiert, nun wollte Ich Fragen gibts da direkt was oder muss ich das selber bauen. Möchte es auf jeden fall vereinfachen.

Thema: Projektbuildabhänigkeiten und kopieren von DLL Files
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

wir haben bei uns eine sehr große Solution, mit einer Host exe welche assemblies dynamisch nachladen kann. Damit die dynamischen assemblies alle vor der Host exe gebaut werden, wurden diese in der Solution unter "Projektabhänigkeiten" als abhänigkeit für das Hauptprojekt definiert.
Die Dynamisch geladenen Assemblies werden aber in ein anderes Verzeichnis compiliert als die host exe.

Nun haben wir folgendes Problem, ein paar der subassemblies haben dateien welche im Projekt auf "copy always" stehen. Nun werden diese dateien auch in das Verzeichnis der "host" assembly kopiert. Jemand eine Ahnung wie man das verhindern kann?

Thema: Text über Zeilenumbruch hinweg finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von MoaByter
Ganz so schlimm ist es nicht, aber das RegexLab-Tool hilft nicht immer weiter, manches muss ich da probieren. Tatsächlich funktioniert es jetzt wie gewünscht bis auf eine kleine Kleinigkeit:
Absatzübergreifend findet er den Text auch jetzt nicht. Das dürfte an dem '\s+' liegen, denn in den Absatzumbrüchen stehen Sachen wie '<div> </div>' oder '<br>', eben keine WhiteSpace-Zeichen. Die könnte ich natürlich auch noch 'rausnehmen, aber das wird aufwendiger als nötig.

Was willst du denn genau machen? Vlt. wäre ja ein HTML (wie AngleSharp) parser besser geeignet

Thema: Vererbung im Zusammenhang mit WPF
Am im Forum: GUI: WPF und XAML

Dein Basis Usercontrol darf kein XAML definieren.

how-can-a-wpf-usercontrol-inherit-a-wpf-usercontrol

Sicher das du überhaupt Usercontrol und nicht lieber CustomControls erstellen willst?

Siehe: https://www.wpftutorial.net/customvsusercontrol.html

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

das habe ich schon gelesen, dachte du hättest deinen Blog post auch verlinkt gehabt, und ich hätte den link übersehen.

Vlt. solltest in deinen Post auch noch Avalonia aufnehmen. Scheinen ja doch auch ein paar Industriegrößen zu supporten.

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Th69
Hast du die passende VC++ Redist(ributable) bei dir installiert?
Ansonsten schau mal in .NET 6 and WINUI3 fails to start Unable to load DLL 'Microsoft.ui.xaml.dll'.
Ups, sorry, nein...
Hab aber gestern keine Zeit zum testen mehr gehabt.
Sind alle installiert, hat also nicht geholfen.

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Abt
Das gleiche hab ich nen paar Beiträge weiter vorn geschrieben...
sicher?? hab jetzt nochmals alle durchgeschaut.
Zitat von Abt
PS: bitte nich für jeden Satz ein Beitrag schreiben.
Du kannst 30 Minuten lang Beiträge editieren, um noch was hinzuzufügen.
werde ich beim nächsten mal berücksichtigen, für die Antwort jetzt hab ich trotzdem eine extra erstellt.

Und hast dir mal das Video zu WPF Local angeschaut, damals hatten Sie (gefühlt) noch mehr mit WPF vor.

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hab Avalonia ja schon Jahre nicht mehr angesehen. Was mir da sofort gefallen hat (das was ich bei WPF vermisse...):

https://docs.avaloniaui.net/docs/data-binding/converting-binding-values - einfaches negieren von Bindings, ohne Converter

auch nicht schlecht: https://docs.avaloniaui.net/docs/data-binding/compiledbindings, aber das UWP (und glaube WinUI3, oder?) ja auch. (wobei in WinUI3 der Perf. Vorteil durch PInvoke ja wahrscheinlich weg ist, aber Compile Time Fehler sind ja immer noch ein Vorteil, aber das werden wir ja sehen wenn es mal Released ist)

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Von Telerik gibts auch noch ein Blog Post:

https://www.telerik.com/blogs/how-to-desktop-2022

Die haben Avalonia sogar mit drin.

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

@Abt : Der Blog Post von dir fasst ja alle MS Technologien und den Entwicklungsstand gut zusammen: Die .NET UI Technologieübersicht 2022 - SchwabenCode.com | Benjamin Abt

Hat sich jemand auch das schon mal angeschaut:
Avalonia UI

Die konnten schon vor einer ganzen weile ja den UI Code von AvalonEdit nahezu übernehmen. Und das wir auch von ILSpy für eine Win/MacOS/Linux UI benutzt.

Thema: Wie baut man eine Animation mit Dynamic?
Am im Forum: GUI: WPF und XAML

Du kannst wohl "Easing" einer double animation setzen:

https://docs.microsoft.com/de-de/dotnet/desktop/wpf/graphics-multimedia/easing-functions?view=netframeworkdesktop-4.8

Ist es das was du suchst?

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Achso das Video von MS über WPF lokal:

Connect Live WPF Team – ConnectLive Live Q&A - YouTube

habs leider selbst nicht mehr gefunden, musste bei MS nachfragen:

WPF Local Versions · Discussion #6038 · dotnet/wpf

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Was heißt evaluieren? Ich kann ja nicht jede UI Technologie probieren. Darum frage Ich hier ja. Ich habe mich schon ein bisschen mit Blazor beschäftigt, und mir gefällt es im Moment nicht so wirklich. Das kann ja meine Meinung sein.
Ja ich habe noch nichts damit entworfen. Ab WPF zu nutzen, um einen Browser zu hosten, um darin Blazor Komponenten zu verwenden, nein gefällt mir im Moment nicht. Wenn das anders funktioniert, okay dann hab ich es falsch verstanden.

Ich freue mich ja auch das ich hier hinweise bekomme, was es gibt, aber im Moment sagt mir von den neuen Dingen noch nicht wirklich was zu.

Daher mal die Frage, nutzt jemand schon WinUI3 Produktiv? Nutzt jemand Blazor in WPF Produktiv? Gibt es sonst noch was von MS was man z.Zt einsetzt?

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hat eigentlich hier schon mal jemand WinUI3 probiert und das zum laufen gebracht?

Ich nutze VS2022 Preview, und habe diesen Fehler.

Die Microsoft.ui.xaml liegt natürlich auch nicht im Verzeichnis, wo liegt die normal?

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Nein hab ich nicht. Wie gesagt der Tag hat nur 24h und ich kann nicht alles prototypen, probieren, etc.
Ich hab mir nur kurz das angeschaut: https://www.telerik.com/blogs/blazor-wpf?kw=&cpn=13355944691&&utm_source=google&utm_medium=cpc&utm_campaign=blazor-trial-search-bms-EMEA&ad_group=Blazor+DSA&utm_term=DYNAMIC+SEARCH+ADS&ad_copy=&ad_type=search_DSA&ad_size=DSA3_blazor-dsa_D1-deliver-data-centric-blazor-apps-in-half-the-time-with-the-telerik-grid%E2%80%98s-100-plus-features&ad_placement=&gclid=Cj0KCQiA0eOPBhCGARIsAFIwTs61CMH3VEvDs83HWEvS07mcS30gYQlTPJLSe-i8qHWxMVuI-WY-q4kaAsGJEALw_wcB&gclsrc=aw.ds

Und da das gelesen:

Blazor functionality can actually be built right inside your WPF app project—that’s Razor pages with C#/HTML, CSS and, if need be, some JavaScript, all enabling a desktop WPF solution.

Was soll es mir also bringen, ich habe noch größeres Gemisch von Sprachen...

Ich habe, für mich, den großen Nutzen/Vorteil von Blazor noch nicht gefunden.

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Urza
Wenn ich jetzt eine neues Desktop-Programm erstellen müsste würde ich mich wahrscheinlich an Blazor on WPF probieren.
Das wäre mir zuviel Mischung, d.h. ich hab XAML als UI Technologie (auch wenn Sie nur den Browser einbettet), Razor Syntax für die Komponenten, ich muss dann aber auch noch HTML und Javascript können falls irgendwas nicht läuft. (Ja ich kann JS und HTML).

Trotzdem würde mir da so erst mal nicht zusagen, aber ist ja nur meine Meinung.

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Abt
Ähm....
ja leider hat der Tag nur 24h
Zitat von Abt
Obwohl ich schon nen paar Jahre im .NET Geschäft bin, hör ich das zum ersten Mal.
ich such nochmal nach dem video, aber wie gesagt, ist ein paar Jährchen her

Thema: Welche UI-Technologie von MS einsetzen???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Palladin007
Ich weiß nicht ganz, was Du meinst, aber Du kannst immer noch verschiedene .NET-Versionen ausliefern, auch aus einer Code-Basis heraus.
Ich sehe den Sinn dahinter nicht, aber möglich ist es.
Oder was meinst Du?

Es gab mal den Plan das die WPF Version ähnlich wie Nuget Packages (oder waren sogar nugets geplant?) mit der Anwendung ausgeliefert wird. Dann kann es Änderungen im Framework geben, aber deine App läuft noch sicher mit der Lokalen Version. Finde leider das Video dazu nicht mehr, ist aber auch schon einige Jahre her, und ist ja auch nicht gekommen.