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 AmpelB
Thema: nuget dependency Problem
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Wenn ich aus meiner dll ein nuget Paket erstelle, bekomme ich immer die Warnung

Fehler
WARNUNG: NU5128: Some target frameworks declared in the dependencies group of the nuspec and the lib/ref folder do not have exact matches in the other location. Consult the list of actions below:
- Add a dependency group for .NETFramework4.6 to the nuspec


So wild ist das nicht, es wird trotzdem ein korrektes Paket erstellt. Ich habe aber schon mehrfach versucht, diese dependency group einzufügen, war aber nicht erfolgreich.
Was muss ich tun, um diese Warnung weg zu bekommen?

Meine nuspec Datei sieht so aus:

<?xml version="1.0" encoding="utf-8"?>
<package >
  <metadata>
    <id>Helper</id>
    <title>Helper</title>
    <version>2.0.3</version>
    <description>Mehrere Hilfsklassen</description>
    <releaseNotes>Keine spezielle Release Information</releaseNotes>
    <authors>Ich</authors>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <license type="expression">MIT</license>
    <copyright>$copyright$</copyright>
  </metadata>
</package>

Erzeugt wird das Paket mit:

nuget.exe pack -OutputDirectory D:\Packages -Prop Configuration=Release

was ich im Projekt Verzeichnis aufrufe.

Kann mir jemand helfen?
Erwin

Thema: ToolStripControlHost Kontruktor Problem
Am im Forum: GUI: Windows-Forms

Ich habe eine Checkbox in einen ToolStripControlHost eingebaut:


    public class CheckboxStripItem : ToolStripControlHost
    {
        private CheckBox checkBox;

        public CheckboxStripItem()
            : base(new CheckBox())
        {
            checkBox = Control as CheckBox;
        }

        public bool Checked
        {
            get { return checkBox.Checked; }
            set { checkBox.Checked = value; }
        }

Das funktioniert soweit gut. Im Projekt Explorer wird die Klasse nicht als "normale C#" Klasse dargestellt, sondern als "andere Komponente" (siehe Scrennshot.png).
Nach einem Doppelklick auf die .cs Datei (also der obere Teil des Screenshots), kommt die Fehlermeldung des Designers
Fehler
"Um mögliche Datenverluste zu verhindern, müssen vor dem Laden des Designers folgende Fehler behoben werden:"
. Als Fehler wird angezeigt
Fehler
"Der Konstruktor für den Typ "System.Windows.Forms.ToolStripControlHost" wurde nicht gefunden.".

Beim Compilieren gibt es keine Probleme und das CheckboxStripItem kann ich auch in Menüs einfügen. Aber die Fehlermeldung ist doch nicht richtig?
Bei einem Klick auf die Klasse selber, unterhalb der Datei (im Projekt Explorer) wird der Source Code angezeigt und ich kann ihn auch editieren.

Wieso bekomme ich die Fehlermeldung und kann die Datei nicht "normal" editieren?

Gruß
Erwin

Thema: Debug Fenster aktiv, wenn anderes Dialogfenster aktiv
Am im Forum: Rund um die Programmierung

War ja nur so ein Gedanke von mir.
Werde es doch wieder so machen, wie bisher mit Standard Mitteln.
Trotzdem danke für die Bemerkungen.

Thema: UserControl dynamisch in Toolbox
Am im Forum: Rund um die Programmierung

Ich habe eigene UserControl, die in einer DLL liegen, die als NuGet Pakete der Applikation zugeordnet sind.
Nun kann ich der Toolbox sagen, sie soll auch Controls aus dieser DLL anzeigen. Dann finde ich auch mein UserControl. Allerdings habe ich das dann ja immer in der Toolbox.

Klasse wäre es, wenn meine UserControl nur in der Toolbox erscheinen würde, wenn die DLL als Verweis meinem Projekt zugelinkt ist. Gibt es da irgendeine Möglichkeit? Controls von anderen Projekten, die ich in meine Solution einbinde, werden ja auch automatisch in der Toolbox angezeigt.

Thema: Debug Fenster aktiv, wenn anderes Dialogfenster aktiv
Am im Forum: Rund um die Programmierung

Hallo,

ich habe mir ein Fenster erstellt, in dem ich eigene spezielle Debug oder Trace Ausgaben ausgebe. Das klappt auch sehr gut. Nur habe ich einen Fall übersehen, in den ich gerade gelaufen bin:
Wenn ich Informationen von einem Fenster erzeuge, was Modal bzw. als Dialog angezeigt wird, erscheinen die Daten wohl in meinem Debug Fenster, aber ich kann das Fenster dann ja nicht aktivieren, um dort z.B. zu scrollen.

Prinzipiell soll das ja auch nicht funktionieren: wenn ich ein Fenster als Dialog anzeige, soll ein anderes Fenster ja auch gesperrt sein. Aber kennt jemand vielleicht einen Trick, wie ich das doch hinbekomme? Die Sachen in einen anderen Thread auszulagern, hilft sicher nicht. Vielleicht müsste es ein ganz anderer Prozess sein, der dann aber nicht auf meine Daten zugreifen kann.

Prinzipiell habe ich eine Lösung, indem ich die Anzeige in einem extra Programm (also eine extra C# Solution) implementiere. Allerdings muss ich dann mit shared Memory (oder eine andere Art von IPC) Arbeiten, damit die Daten in das andere Programm kommt.
Alles in einem Prozess ohne shared Memory ist schon schön und funktioniert auch, solange ich kein Dialog Fenster anzeige.

Gruß
Erwin

Thema: dll in debug und release Version benutzen
Am im Forum: Rund um die Programmierung

Nach einigem Lesen komme ich nun zu dem Schluss, dass $Version$ in .nuspec doch nicht das gleiche wie die Assembly Version ist.
Das passt ja auch von der Anzahl der Nummern nicht: Assembly Version benutzt 4 Zahlen, nuget 3. Also sind die beiden Versionen doch wohl unterschiedlich bzw. ich sollte sie manuell gleich halten. Obwohl die nuget Version ja vielleicht wichtiger als die Assembly Version ist. Vielleicht doch nur eine gleich halten?

Thema: dll in debug und release Version benutzen
Am im Forum: Rund um die Programmierung

Zuerst einmal Danke für die schnelle Antwort und Sorry, dass ich jetzt erst reagiere.
Das mit dem nuget ist sicherlich der richtige Weg und ich habe auch schon vom meiner dll ein nuget Paket in meinem lokalen nuget Verzeichnis erstellt. Allerdings stelle ich jetzt fest, dass das Paket immer die Version 1.0.0 bekommt, obwohl in meinem Assembly Info was anderes steht:
[assembly: AssemblyVersion("1.1.466.1059")]
In meiner .nuspec Datei steht
<version>$version$</version>
Damit sollte er doch die Version aus dem Assembly nehmen. In der Ausgabe von nuget.exe pack wird hinter "Paketerstellung aus Dateien aus" auch das richtige Verzeichnis angezeigt. Es wird auch der richtige .nuspec Dateiname als "wird für Metadaten verwenden". Sieht also alles gut aus.
Trotzdem wird immer das Paket 1.0.0.nupkg erstellt.
Ich suche schon eine Weile im Netz, finde aber nichts, was den Fehler erklärt (zumindest bisher noch nicht).

nuget gibt mit aber noch folgendes aus:
WARNUNG: NU5128: Some target frameworks declared in the dependencies group of the nuspec and the lib/ref folder do not have exact matches in the other location. Consult the list of actions below:
- Add a dependency group for .NETFramework4.7 to the nuspec

Ich habe noch nicht verstanden, wie ich diese dependency group einfüge (muss doch in der .nuspec Datei eingetragen werden), damit diese Warnung nicht mehr kommt.
Kann diese Warnung eventuell dazu führen, dass er immer die falsche Version benutzt?

Gruß
Erwin

Thema: dll in debug und release Version benutzen
Am im Forum: Rund um die Programmierung

Hallo,
wenn ich ein dll Projekt erstelle, kann ich es ja als debug und auch als release erstellen. Bei release wird ja auch optimiert und es gibt einmal Dateien in debug und einmal im release Verzeichnis. Wenn ich diese dll nun von einem anderen Projekt benutzen möchte, binde ich sie ja als Verweis ein. Wenn ich mein Projekt als debug erstelle, muss ich auch die debug Version der dll einbinden. Wenn ich die release Version einbinde, gibt es (zumindest bei mir) Probleme.

Prinzipiell müsste es doch so sein, dass ich auf die debug Version der dll verweise, wenn ich als debug builde und auf die release Version, wenn ich als release builde. Aber die Verweise sind doch von der Konfiguration unabhängig?

Wie macht man so etwas denn? Oder geht das gar nicht? Das wäre aber blöd.