Hallo Leute,
ich bin nicht wirklich mit Visual-Studio vertraut... Aktuell möchte ich eine Sammlung von verschiedenen Forms (angepasste Label, Panels, etc.) machen, bei denen ich aber keine exe haben möchte. Aber egal was ich auswähle, entweder kann ich keine using auf System.Windows.Forms machen, oder er erstellt mir eine exe.
Kann mir einer sagen, was ich dafür auswählen muss?
Gruß Frokuss
PS: oder gehört das eher zur Basis-Technologien?
Du mußt eine Klassen-Library (Bibliothek) als Projekttyp auswählen und dort dann die passenden Assemblies als Referenzen (Verweise) hinzufügen.
Hallo,
einfach nur eine Klassenbibliothek.
Um using System.Windows.Forms
nutzen zu können, musst Du dann noch einen Verweis (Referenz) auf die System.Windows.Forms.dll
erstellen.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Alles klar, danke euch beiden 😃
Nen bischen Trickreich war es, die Bibliothek auf dem System zu finden ^^ Bei mir lag sie in: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.7.2
Die Durchsuchung des Systems hat mir aber mehrere Orte angezeigt...
Besser ist es vielleicht über ein Windows-Projekt zu gehen, dort den Objektkathalog auswählen, die System.Windows.Forms raussuchen (auswählen) und dort wird dann der absolute Pfad angezeigt.
Gruß Frokuss
Du solltest nicht direkt die Assembly per "Durchsuchen" ("Browse") auswählen, sondern einfach aus der vorgegebenen Framework-Liste auswählen.
So bin ich vorgegangen...
1.) Rechtsklick auf Abhängigkeit
2.) Verweis hinzufügen
3.) Assemblys auswählen --> da wird keins angezeigt... weder bei Framework noch bei Erweiterungen
4.) Durchsuchen auswählen...
Aber kann dann mein Problem sein, dass er mir anzeigt, dass ich NETStandard 2.0 verwendet? Installiert ist ja NETFramework\v4.7.2 ...
Gruß Frokuss
EDIT: Bei der Klassenbibliothek kann ich höchstens Version 2.1 auswählen... Bei der WIndows-Anwendung kann ich hingegen quasi alles von 2.0 bis 4.8 auswählen...
Schau Dir bitte an, was .NET Standard ist. Absolutes Grundwissen im .NET Ökosystem 😃
https://docs.microsoft.com/de-de/dotnet/standard/net-standard
Da kannst Du natürlich keine Framework Assembly wählen.
Hier musst Du Referenzen über NuGet hinzufügen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke für den Link... ist jetzt aber schon mal nen großer Brocken.
Ich dachte allerdings, es sei ein Vorteil, wenn ich bestimmte Teile in verschiedenen Projekten auslagere und dann dort mit den Namespaces arbeite. Wäre ja nur sinnvoll bestimmte Elemente auch für andere Projekte verwenden zu können... Dachte ich! Aber bei dem Aufwand, den ich aktuell betreiben muss, um dort einfach ganz normale Windows Label und Panels einzubinden, ist es mir das echt nicht wert 😦
Werde denke ich nun das ganze Projekt verschieben und dann dort als seperaten Namespace eingleidern. Man kanns auch so ausdrücken... Ich bin zu blöd dafür!
Gruß Frokuss
Es gibt extra als Vorlage (Template) "Windows Forms Control Library" (unter "Add"/"New Project" ->"Visual C#"/"Windows"/"Classic Desktop"), welches u.a. schon die Assembly "System.Windows.Forms" als Verweis enthält.
So schwer ist das nicht.
Wenn du dann dein WinForms-Hauptprojekt und die "Windows Forms Control Library" in einer Projektmappe (Solution) hast, dann kannst du auch einfach die Library als Verweis dem WinForms-Hauptprojekt hinzufügen (Add Reference -> "Reference Manager" / Projects).
PS: Ich habe nur die englische VS-Version hier, im deutschen sind die Begriffe dann entsprechend übersetzt.
Danke, das war es... hatte einfach nur eine normale Bibliothek ausgewählt... Und dazu noch einen weiteren Fehler, dass meine classen teilweise nicht public waren... Jetzt geht es. Danke euch allen 😃
hatte einfach nur eine normale Bibliothek ausgewählt...
Gibt keine "normalen Bibliotheken".
Es gibt (vereinfacht ausgedrückt):
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code