Laden...
Avatar #fz7qMfY8MI8pYqaUBFH8.png
markl myCSharp.de - Member
Softwarearchitekt Dabei seit 29.09.2016 78 Beiträge
Benutzerbeschreibung

Forenbeiträge von markl Ingesamt 78 Beiträge

13.03.2022 - 13:07 Uhr

Moin,

.NET 6 kann noch COM (Component Object Model)!
Leider wird tlbexp.exe nicht mehr für .NET ≥ 5 unterstützt.

Aber vielleicht Hilfe euch das Project:
https://github.com/dspace-group/dscom

Einfach folgenden Befehl in der Console aufrufen:

dotnet tool install --global dscom

Danach könnte genau so wie bei tlbexp.exe eine tlb aus einem Assembly erzeugen:

dscom tlbexport myassembly.dll

Außedem habe wir euch ein nuget-Package zu verfügung gestellt, mit dem man "ConvertAssemblyToTypeLib" wieder bekommt:

https://www.nuget.org/packages/dSPACE.Runtime.InteropServices/

Viel Spaß und lasst mal ein Like/Star da.

21.11.2018 - 07:59 Uhr

Ich häng mich mal gerade aus dem Fenster und gebe mal meine beschränkte Sichtweise wieder.

  • Ohne dass ich die Anforderungen kenne -

Das was jetzt kommt, kann auch gaaaanz anders gesehen werden - man darf mich gerne dafür rügen 😉
Insbesondere die Framework-Frage ist religiös.

Hier ein einfacher Entscheidungsbaum:

1.

Ihr könnt C#/.NET Framework und könnt mit WPF/WinForms UIs bauen.
Ihr habt noch wage Erinnerungen an PHP-Experimente und habt gehört, dass HTML5 und Bootstrap ganz gut sein sollen.

Ihr findet Responsive Webdesign gut https://de.wikipedia.org/wiki/Responsive_Webdesign.
Der Gedanke, dass man sich mit Progressive enhancement auf das Notwendigste konzentriert und später fancy Javascript hinzunimmt gefällt euch.https://de.wikipedia.org/wiki/Progressive_Verbesserung
Eure Website ist nicht besonder dynamisch und wenn man auf eine Button auf der Website klickt, dann darf sich die Seite auch mal neuladen.

->

.NET Core (≥2) + ASP.NET Core
serverseitiges Rendern von HTML (Razor, MVC)
Bootstrap als CSS-Framework

2.

Ihr glaubt, dass die Webseite mehr Dynamik braucht. Ihr scheut nicht davor Javascript/TypeScript zu erlernen.
Ihr findet allerdings objektorientiertes Programmieren gut. DependencyInjection mögt ihr https://de.wikipedia.org/wiki/Dependency_Injection.
Eine ordentliche Schichtenarchitektur https://de.wikipedia.org/wiki/Schichtenarchitektur findet Ihr wichtig.

->

.NET Core (≥2) + ASP.NET Core

WebAPI (RESTful)
Angular ≥7
Bootstrap, Angular Material https://material.angular.io/, oder selber bauen
PWA

3.

Ihr habt es voll drauf mit JavaScript/TypeScript. OO ist euch nicht immer wichtig. Ihr scheut nicht vor "bleeding edge"-Technologien.
Eure Entwickler brauchen keine Leitplanken. Die Gefahr von big-ball-of-techo-mutt seht Ihr nicht. Gerne baut ihr eure Microservice neu.
Die Halbwertszeit eure Anwendungen ist gering. Webpack-Config schreiben rockt.

->

.NET Core (≥2) + ASP.NET Core ... oder doch lieber node.js
WebApi (RESTful oder GraphQL)
React oder Vue
PWA

... ich finde #2 ganz gut

14.11.2018 - 16:19 Uhr

OT:

Ich glaube der David Tielke (keine Ahnung ob der hier im Forum abhängt) ist ein großer Gupta-Portierungs-Fan. Der kann euch sicherlich helfen.

12.11.2018 - 19:10 Uhr

Mit "Sicherheits-Programm" hat das nicht viel zu tun, wenn man versucht UAC nachzubauen.

Außerdem gibt es kommerzielle Lösungen um den User mit sowas zu "nerven" (z.B. The Palo Alto Networks Traps https://www.paloaltonetworks.com/documentation/traps).

Ich hoffe, dass dies nur ein Experiment von dir ist um C#/.net zu lernen.

Daher hier zwei Anhaltspunkte:


        string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
            using (Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(registry_key))
            {
                foreach (string subkey_name in key.GetSubKeyNames())
                {
                    using (RegistryKey subkey = key.OpenSubKey(subkey_name))
                    {
                        Console.WriteLine(subkey.GetValue("InstallSource"));
                        Console.WriteLine(subkey.GetValue("DisplayName"));
                    }
                }
            }

Siehe dazu:
https://stackoverflow.com/questions/908850/get-installed-applications-in-a-system

Oder aber mit:

How to detect lunch or closing process?

https://social.msdn.microsoft.com/Forums/vstudio/en-US/46f52ad5-2f97-4ad8-b95c-9e06705428bd/how-to-detect-lunch-or-closing-process-?forum=netfxbcl

Aber ich rate dir DRINGEND davon ab, sowas tatsächlich als ein Sicherheits-Programm in betracht zu ziehen.

31.10.2018 - 10:07 Uhr

Nach Remoting hätte man sicherlich WCF gesagt.
Man kann aber der Meinung sein, auch wenn man das .NET Framework verwendet, dass man das jetzt auch nicht mehr sagt.
Daher z.B. WebAPI (ASP.NET (core)) oder gRPC.

30.10.2018 - 13:19 Uhr

https://www.heise.de/developer/meldung/ASP-NET-Core-3-0-laeuft-nur-noch-auf-NET-Core-4206653.html

ASP.NET Core 3.0 läuft nur noch auf .NET Core

Diese Aussage hatten wir ja schon bei ASP.NET Core 2.0.
Diesmal passiert es wohl wirklich.

12.10.2018 - 10:17 Uhr

Auch wenn das oben schon gesagt wurde. Nochmal verstärkt für die Nachwelt.
Auch wenn MVVM nicht gerade einfach für Anfänger aussieht, sollten man das so nicht bauen!
Auch wenn der Code erstmal das tut was er tuen soll.
Später wird sowas die Wartungshölle!
All dein Code in Window_Loaded zu packen ist etwa so wie: Beim Hausbau die Heizungsinstallation im Vorgarten installieren zu lassen - Kann man machen, ist halt nicht wirklich gut

10.10.2018 - 18:37 Uhr

Aber das ist doch -Ansatzweise- sowas wie DeepCopy geworden.
Somit auch das was MrSparkle dir vorgeschlagen hat.

Nachtrag:
Ich hab das jetzt nicht im Compiler geprüft, aber führt

CopyValues(ref targetValue, sourceValue);

nicht zu

CopyValues<object>(ref targetValue, sourceValue);

somit zu einem falschen ...

Type t = source.GetType();
10.10.2018 - 17:14 Uhr

z.B. durch Serialisierung

Serialisierung will er ja gerade
>
){gray}

@MrSparkle: Oh ja hast ja recht 😃. Das man "Serialisierung" nicht selber implementiert, wurde ja schon diskutiert. Der Rest des MSDN-Artikels wird Glowhollow sicherlich weiter bringen.

10.10.2018 - 16:53 Uhr

Die MSDN beschreibt dies in den Remarks von MemberwiseClone:

Dein MemberwiseClone führt ein "shallow copy" durch.

Möchtest du ein DeepCopy, dann gibt es da viele Wege (z.B. durch Serialisierung).
Siehe dazu:

https://docs.microsoft.com/en-us/dotnet/api/system.object.memberwiseclone?redirectedfrom=MSDN&view=netframework-4.7.2#remarks

19.09.2018 - 08:11 Uhr

Sollte das nicht mit Windows Board-Mitteln gehen?

Siehe Anhang:

06.09.2018 - 18:18 Uhr

Hallo johnnycc,

so sollte es funktionieren:

  1. Erstelle ein .NET Projekt (.NET Core oder FF - ist egal)
  2. Installiere dir über nuget Edge.js (https://www.nuget.org/packages/Edge.js/).
  3. Installiere auf dem Rechner Node.js
  4. im Projekt-Folder "npm init" und "npm install mathjax-node"
  5. C#-Code (quick and dirty!):

       private static void Main(string[] args)
        {
            string script = @"
                return function (math, callback) {
                    var mjAPI = require('mathjax-node');

                    mjAPI.start();

                    mjAPI.typeset({
                      math: math,

                      mml: true,
                    }, function(data) {
                            callback(null, data.mml);
                        });
                } ";

            var func = Edge.Func(script);

            Console.WriteLine(func("E = mc^2").GetAwaiter().GetResult());
        }

Die Ausgabe sollte dann so aussehen:

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" alttext="E = mc^2">
  <mi>E</mi>
  <mo>=</mo>
  <mi>m</mi>
  <msup>
    <mi>c</mi>
    <mn>2</mn>
  </msup>
</math>


Wird beim starten die node.dll nicht gefunden wurde, dann beachte dieses Issue:
https://github.com/tjanczuk/edge/issues/503

Infos zu edge.js:
https://github.com/tjanczuk/edge/tree/master#scripting-nodejs-from-clr

Infos zumathjax-node:
https://github.com/mathjax/MathJax-node

  • Ich würde den JavaScript/TypeScript-Code natürlich auslagern.
  • Bundle mit Webpack wäre natürlich auch ganz gut.
27.08.2018 - 09:49 Uhr

Schon mal eine kurze Anmerkung:

obj, bin und nupkg gehören nicht ins Repo.

23.08.2018 - 13:53 Uhr

Bezüglich:


List<string> returnValue = new List<string>({ "Output Value" });

... was für ein Compiler verwendest du? Das sollte eigentlich nicht mal kompilieren 🤔

20.08.2018 - 11:25 Uhr

Bezüglich "Product activation" gibt es eine Vielzahl von kommerziellen Lösungen.
Ich habe gut Erfahren mit codemeter gemacht (sowohl mit Hardware Dongle als auch mit SmartBind-"Software-Dongle"):

https://www.wibu.com/de.html

10.07.2018 - 16:07 Uhr

Nächstes Jahr frage ich nach Blazor ... aber heute ist nicht der Tag 😉

Ich würde mal gerne von euch hören, was Ihr aktuell für Meinungen und Empfehlungen aussprecht, bezügliche der allseits beliebten Frage: "Welche Library bzw. welches Framework soll es sein? Angular, React oder Vue?"

Hier das fiktive Szenario:
Eine Horde von .NET/WPF/WinForms-Entwicklern (alle sehr erfahren) will nun mehr Web machen. Der eine oder andere hat ASP.NET- bzw. ASP.NET-Core-Erfahrung.
Auch hat der eine oder andere mal Knockout, Backbone.js, jQuery, Bootstrap ... gesehen.
Wir gehen mal davon aus, dass es eine SPA werden soll/muss.

13.06.2018 - 12:36 Uhr

The T:System.IO.FileStream object created by this method has a default T:System.IO.FileShare value of F:System.IO.FileShare.None; no other process or code can access the created file until the original file handle is closed.

https://msdn.microsoft.com/de-de/library/d62kzs03(v=vs.110).aspx

12.06.2018 - 09:12 Uhr

Ja nach Lizenzmodell gibt es auch noch einen klassischen "static activation key".
Volumenlizenzversionen verwenden in diesem Fall den gleichen Key ... soviel ich weiß.

04.06.2018 - 10:48 Uhr

Ich benutzte mal die OO-Begrifflichkeit "Methode".

Ob eine Methode static sein muss, hängt maßgeblich an der Klasse.
Ist eine Klasse statisch, dann werden die Methoden auch statisch deklariert.

Ob Console- oder Forms-App in beiden Fällen kannst du statische als auch nicht statische Methoden haben.

Nachtrag 10:48:
Auch deine Forms-App hat eine Program-Klasse.
Diese beinhaltet auch eine "static void Main"

Du solltest dir nochmal die Grundlagen C# und OO anschauen, dann wird es klar.

04.06.2018 - 09:45 Uhr

Wir haben das gerade beim Kaffee diskutiert.
Wenn es so kommt, dann finde ich das persönlich ne feine Sache.
Man kann gespannt sein, wie TFS/VSTS und GitHub verschmelzen.

Vielleicht bekommen wir dann auch private Git-Repos in GitHub für lau.
Auch wenn das BitBucket wohl unter druck setzen wird.

04.06.2018 - 09:41 Uhr

Und weil das hier ein .NET/C#-Forum ist natürlich dies hier (als alternative zu PHP):

https://docs.microsoft.com/en-us/aspnet/core/signalr/get-started?view=aspnetcore-2.1&tabs=visual-studio

SignalR macht wirklich Spass. Und das Demo (wie so gut wie jedes zweite SingalR-Demo) ist natürlich eine Chat-Anwendung.

29.05.2018 - 14:59 Uhr

Fehlermeldung:
Der aufrufende Thread kann nicht auf dieses Objekt zugreifen, da sich das Objekt im Besitz eines anderen Threads befindet.

Die Fehlermeldung deutet auf ein Thread-Problem hin. Irgendwas wird nicht im UI-Thread dispatched.

29.05.2018 - 10:40 Uhr

Schwieriger Fall.

Prüf mal folgendes:

  • Läuft der Call im STA oder im MTA?
  • Wird der Call nach WPF im Main-Thread dispatched (prüf den SynchronizationContext) ?
  • Ist das wirklich ein COM-Problem oder kannst du den Fehler isoliert (ohne Cobol und COM) reproduzieren?
  • Nutze WinDbg und die SOS-Extension um mehr vom CallStack zu sehen
24.05.2018 - 12:42 Uhr

@weismat: Danke für deine Rückmeldung

Bezüglich deiner Frage "Was meinst Du mit Callbacks...":

Im Fall der existierenden Anwendungen mit WCF wird teilweise duplex contract (two-way) verwendet.

23.05.2018 - 13:01 Uhr

Auf AMQP hab ich eigentlich nur gewartet 😃

Dies scheint in unserem Use Case mit unter auch eine sinnvolle Lösung zu sein.

Setzt einer von euch erfolgreich gRPC ein? Wie sind hier so die Erfahrungen?
Ich weiß: Inhaltlicher Sprung von MessageBus zu rein RPC

23.05.2018 - 09:21 Uhr

@LaTino: Danke für deine Rückmeldung

Bei NetMQ stören mich nur die Lizenzbedingungen (Angepasste LGPL v3).
Dies bedeutet immer ein erhöhter juristischer Aufwand (open source compliance).

Selber finde ich, dass zeroMQ bzw. NetMQ eine interessante Alternative ist.

23.05.2018 - 08:34 Uhr

@T-Virus: Danke für deine Rückmeldung.

Mit MQTT und .NET Core (wir oben von mir beschrieben) habe ich gute Erfahrungen gemacht - wenn publish/subscriber für die Applikation ausreicht.

Für mit Mitleser 😉 :

Sehr funktionale Lib (MQTT-Client als auch MQTT-Server - wenn es mal nicht mosquitto sein soll)
https://github.com/chkr1011/MQTTnet

Hier ist ja leider nicht mehr soviel los:
https://www.eclipse.org/paho/clients/dotnet/

23.05.2018 - 08:30 Uhr

@BhaaL:

Hatte deine letzte Frage ganz übersehen. Sorry 😃

In diesem Produkt wird sowohl "NetTcpBinding" als auch "NetNamedPipeBinding" verwendet.

In dem zweiten Fall wurde eine Interprozesskommunikation benötigt, die ein Ersatz für eine ältere COM/DCOM-Implementierung darstellt. Im Zuge der Migration wird ein RPC-Technologie gesucht, die sowohl den IPC als auch den RPC-Fall abdeckt.

I know: Auf pauschale Fragen gibt es häufig die pauschale Antwort "it depends"
Auch ich würde bei so einem Thread Antworten: "Kommt auf den Use case an"

Mich würde aber eure Erfahrungen mit RPC/IPC-Framworks in .NET Core interessieren.
Und zwar in den Fällen, in den es nicht pauschal heißt WebAPI mit ASP.NET Core (natürlich mit dem Architekturstil REST)

Zum Thema REST und ASP.net Core gibt es nun (auch in diesem Forum) genug Meinungen, Informationen und Austausch.

Zur Info:

  • Ich habe erfolgreiche Produkte mit gRPC (auch mit .NET Core)
  • MQTT zur Backend-Kommunikation läuft auch sehr stabil mit .NET Core
  • Json-RPC habe wir auch Prototypen.
  • propertitäre Socket, TCP und UDP-Implementierungen kenn ich auch genug - will sie aber nicht mehr.

Hier meine konkrete Frage und/oder Erfahrungsaustausch-Anfrage:

Was ist eure Erfahren mit RPC/IPC und/oder MessageBus-based Kommunikations-"Frameworks" in .NET Core ?

23.05.2018 - 08:11 Uhr

.net core unterstützt per sé erst einmal nur http-basierte Kommunikation

Das stimmt so nicht.

https://apisof.net/catalog/System.Net.Sockets

Ich verwende seit längerem MQTT in .NET Core

Kann es sein, dass ein ASP bei deiner Aussage fehlt?

22.05.2018 - 16:37 Uhr

@BhaaL: WCF möchte ich in der migrierten Anwendung nicht mehr haben.
Auch wenn es Client-Libs für WCF in .NET Core gibt, und auch wenn es Bestrebungen gibt WCF-Server in .NET Core zu betreiben. WCF soll raus.

22.05.2018 - 16:33 Uhr

Wenn ihr .net core einsetzen wollt, fällt WCF sowieso weg, und es muss eine WebAPI sein, weil ALLE .net core-Anwendungen im Grunde eine WebAPI sind
. Die Diskussion könnt ihr euch also sparen.

Das WCF weg fällt ist gekauft. Allerdings, dass es immer eine WebAPI sein muss, würde ich nicht so stehen lassen (bzw. würde ich das gerne mich euch diskutieren - wenn Ihr Zeit und Lust dazu habt).

Nur weil ich .NET Core verwende, heißt das ja nicht, dass ich zwangsweise WebAPI machen muss.

Parallel fallen auch einige der genannten message-Protokolle weg, schlicht weil sie .net Standard nicht unterstützen

Im Fall von MQTT gibt es eine ordentliche.NET Core Lib.

Aber ich gebe dir natürlich recht, es kommt auf den Use Case an.
In meinem Fall heißt dass, ich werde mehrere .NET Core Applikationen haben, die unter Umständen hochfrequent Daten austauschen wollen.

22.05.2018 - 14:56 Uhr

Natürlich möchte ich kein "SOAP+REST" ... um Gottes willen.

Vielleicht habe ich das nicht deutlich genug beschrieben.
Ziel ist es natürlich WCF (und somit auch SOAP) zu ersetzen.

Ich wollte nur eine Diskussion anregen, ob es immer pauschal WebAPI sein muss, wenn man eine alte SOAP-Implementierung loswerden will.

Möchtest du den Application Layer gleich mit wechseln? Oder soll der Austausch so passieren, dass die Clients das nicht merken?

Der Client soll auch auf .NET Core/Standard migriert werden.
Beim "Client" ist übrigens keine GUI-Anwendung mit gemeint.

Oder verwechselst du da Anwendungsprotokoll (SOAP) mit API-Architektur (REST)?

Nein verwechsel ich nicht.

Und was haben deine Stichpunkte unter "schnelle Antwort" mit deinem Wunsch zur Migration nach .NET Core zu tun?

Wir diskutieren das gerade im Team. Eine RPC-technik (oder ähnliches) die wir als Ersatz für WCF einsetzen können.

22.05.2018 - 12:55 Uhr

Moin,

ich hätte da mal eine Migrationsfrage.

Aktuell habe ich mehrere .NET Fullframework-Anwendungen.
Diese werde ich nach .NET Core bzw. Standard migrieren. Die Kommunikation der Anwendungen erfolgt mit WCF (SOAP).
Folgende Anforderungen werden durch die .NET Applikation aktuell erfüllt:*WCF-Kommunikation (teilweise hochfrequent – so viel eben WCF mit SOAP zulässt) *Callbacks (nicht nur unidirektionale calls, sondern die Server senden an die Clients) _[edit 22.05.2018] _ *Die Schnittstelle soll nicht direkt vom Endanwender verwendet werden. *Die Schnittstellen sind aktuell synchron implementiert – starkes request/response-Verhalten

Die schnelle Antwort war unter anderem:
*WebApi + SignalR (ich brauche Callbacks) *nanomsg oder ZeroMQ *MQTT oder AMPQ *gRPC (…Callbacks machen da kein Spaß)

Jetzt könnte man pauschal WebApi (REST) rufen. Und für das Callback-Problem SignalR verwenden.

Was ist eure Meinung? Würde das gerne mal mit euch diskutieren.

Btw.: Ja die Anwendung soll unter Linux und unter Windows laufen (und ein wenig im Docker).

27.04.2018 - 14:19 Uhr

Hab ich das richtig verstanden?

Du möchtest sowas wie IdentityServer https://github.com/identityserver in WinForms, aber ohne OWIN/Katana und ASP.net (core) bauen/betreiben?

... why?

09.04.2018 - 10:49 Uhr

Eine Möglichkeit wäre mit EnumChildWindows zu arbeiten.
Siehe dazu:
https://msdn.microsoft.com/de-de/library/windows/desktop/ms633494(v=vs.85).aspx


        [DllImport("user32.Dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool EnumChildWindows(IntPtr parentHandle, Win32Callback callback, IntPtr lParam);


        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        static extern int GetWindowTextLength(IntPtr hWnd);

Und über SetWinEventHook neue Fenster zu detektieren:


        [DllImport("user32.dll")]
        static extern IntPtr SetWinEventHook(uint eventMin, uint eventMax, IntPtr
           hmodWinEventProc, IntPtr lpfnWinEventProc, uint idProcess,
           uint idThread, uint dwFlags);

        [DllImport("user32.dll")]
        static extern bool UnhookWinEvent(IntPtr hWinEventHook);

05.04.2018 - 23:40 Uhr

Dies könnte ein wenig länger dauern bis i==5 ist:


 i = i + 0

Auch nicht so gut:


Thread.Sleep(100);

Siehe dazu:
https://msdn.microsoft.com/de-de/library/system.windows.forms.timer(v=vs.110).aspx

This Windows timer is designed for a single-threaded environment where UI threads are used to perform processing.

03.04.2018 - 14:10 Uhr

Am 11.04.2018 um 18:30 Uhr findet das 9. Treffen der .NET User Group Paderborn statt.

Anmelden könnt Ihr euch wie immer hier:
http://dotnet-paderborn.azurewebsites.net/

PWA, Ionic, React und Angular - Was hat das mit .NET zu tun? Die Antwort ist ganz einfach: Wer heutzutage Anwendungen mit .NET Core/Standard bauen möchte, muss ich überlegen welcher GUI-Stack eingesetzt werden soll. Gerade wenn Applikationen auf dem Desktop, Mobile oder im Web laufen sollen, muss man sich dieser Frage stellen. Andreas und Dennis stellen euch Techniken vor, mit dem Ihr in der Lange seid cross/multi-platform Applikationen zu bauen. Euer Backend bleibt natürlich .NET Core und im Frontend kann es auch ein wenig HTML/CSS/JavaScript sein.

Agenda:

Progressive Web Apps (PWA)

Das offene World-Wide Web als App Store nutzen

Mit dem Aufkommen und der massiven Verbreitung der beiden Smartphone-Plattformen Android und iOS entstand auch die App Economy und mit ihr der sprichwörtliche ‚Goldrausch‘ im Rennen um die begehrten Plätze auf den Bildschirmen der mobilen Nutzer. Aktuelle Studien zeigen jedoch, dass die Anzahl und Nutzungsdauer von installierten mobilen Apps stetig sinkt. Wenngleich die aktuellen hybriden Frameworks wie bspw. Xamarin, Cordova oder React-Native viele der Probleme bei der Entwicklung von plattformunabhängigen mobilen Anwendungen gelöst haben, so haben sich jedoch die jeweiligen plattformspezifischen App Stores für das Auffinden, Bewerten und Installieren derselben kaum weiterentwickelt. Auch der – zumindest bei Apple und Microsoft sehr restriktive – Review Prozess beim Einspielen von neuen Anwendungsversionen wirkt heutzutage schon fast antiquiert. Hier springt die von Google initiierte Alternative zum Entwickeln von Progressive Web Apps hervor. Diese nutzen vor allem diverse Weiterentwicklungen in (mobilen) Browsern, um die Lücken zwischen reinen web-basierten und hybriden/nativen Anwendungen zu schließen. Der Vortrag zeigt, wie eine PWA aufgebaut ist, was die Technik heute bietet, und warum sich Microsoft diese als Rettungsanker für die (App) Leere im Windows (Mobile) Store auserkoren hat.

Andreas Gerlach – Diebold Nixdorf

Ionic meets Visual Studio Code

Ionic und Visual Studio Code, eine Synergie welche man erleben muss. Ich werde mit euch zusammen eine Smartphone App auf Basis von Cordova erstellen. Dabei werde ich auf die Relationen zum Angular Framework eingehen, damit ihr euch schnell und sicher in Ionic zu recht findet. Am besten ihr bringt euer eigenes Device mit, damit ihr Live und in Farbe mit mir coden könnt.

Was benötigt ihr?

Dennis Hering - Microsoft

Details findest Du hier:

http://dotnet-paderborn.azurewebsites.net/Events/Detail/14

Für Getränke und Snacks wird wie immer gesorgt.

Wenn Ihr eigene Ideen und Vorträge für die .NET User Group habt, dann meldet euch bei mir.

Wir freuen uns auf Euren Input.

Am 11.04.2018 um 18:30 Uhr

dSPACE GmbH

Rathenaustraße 26

33102 Paderborn

Weitersagen! – Teilen! – Liken! – Dabei sein!

19.03.2018 - 17:19 Uhr

Vielleicht hilft dir dieses Project weiter (ist allerdings in C++ und scheinbar ohne DirectShow):

https://github.com/flowerinthenight/windows-camera-tools

Blitzlicht wird über ...


flash -fname:<camera_friendly_name> [-state:<0|1|2>]

... aktiviert.

08.03.2018 - 15:59 Uhr

@Abt:

"ASP.NET Core MVC" gibt es nicht.

Wat? Kannst du das kurz erklären?

07.03.2018 - 21:28 Uhr

Auch in .NET Core benutzt du MVC, nur eben ASP.net Core MVC
Und Ja, man kann mit .NET Core starten ... sollte das auch.

31.01.2018 - 18:22 Uhr

Wenn du davon ausgehst, dass in deinem Beispiel die Variable _Zahl automatisch zum BackingField von der Property Zahl wird, dann liegst du da falsch.

Der Compiler wird dir das sogar sagen:

warning CS0169: The field 'X._Zahl' is never used

_Zahl und Zahl haben nichts miteinander zu tun.

Bei AutoProperties erzeugt der Compiler für dich ein Feld.
Dieses Feld wirst du im Code aber nie direkt verwenden.

Um dir das besser zu verdeutlichen kannst du dir mal ILSpy installieren.

Hier der IL.Code:


.field private int32 '<Zahl>k__BackingField'

19.01.2018 - 13:39 Uhr

Kann es sein, dass du beim anlegen eines Projektes diese Option aktiviert hast: "Create new Git repository"

(siehe Bild)

19.01.2018 - 13:31 Uhr

Da fragt einer, wie man heraus bekommt, ob die Grafikkarte defekt ist und man liest hier: "Pack sie in den Backofen".
Musste schon ein wenig schmunzeln …

Hier mal ein nicht so fantasievolle Ansatz:

Öffne mal den Windows „Event Viewer“.
Unter „Windows Logs > System“ meldet Windows eigentlich, dass der Grafikkartentreiber ein Problem festgestellt hat.

Ich würde bei der Fehlerbeschreibung vermuten, dass deine Grafikkarte (oder dein Motherboard) einen Defekt aufweist.

12.01.2018 - 18:34 Uhr

Es sollte schon eine WinForms-Anwendung sein.
Außerdem solltest du die PixelEditor-Klasse nicht "vor" die Forms-Klasse setzen, sondern besser in eine neue Datei.

Is ja Wochenende 😉 ...

Folgendermaßen bekommst du das Demo zum laufen:

  1. Rechtsklick auf dein Project -> Add -> Class
  2. File: PixelEditor.cs
  3. Den Code aus Stackoverflow in die PixelEditor.cs kopieren
  4. Öffne im Designer die Form1.cs (Doppelklick auf Form1.cs)
  5. Aus der ToolBox PixelEditor auf Form1 plazieren (Drag and Drop)
  6. Aus der Toolbox PictureBox auf Form1 plazieren (Drag adn Drop)
  7. Wenn die PictureBox selektiert ist ... da erscheint sofort ein Pfeil, und da drücken Sie dann drauf, und schon wählen sie "Choose image ..." aus
  8. Ein Katzenbild auswählen
  9. Diesen Code z.b. unterhalb von InitializeComponent kopieren

            this.pixelEditor1.APBox = this.pictureBox1;
            this.pixelEditor1.TgtBitmap = (Bitmap)pixelEditor1.APBox.Image;