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 Seikilos
Thema: Add Reference, was tun, wenn man mehrere Build-Konfigurationen braucht?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Dessen bin ich mir voll bewusst und die Assemblies sind mit voller Absicht unterschiedlich.
Ich mein, in C++ kann ich für verschiedene Builds verschiedene Libs anziehen, warum wurde das da nicht eingeführt?

Thema: Add Reference, was tun, wenn man mehrere Build-Konfigurationen braucht?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

ich habe hier eine Assembly, die im Release anders ist, als im Debug. Es existiert kein Projekt von der Assembly, ich habe nur die DLLs.
Wenn ich nun ein CSharp Projekt aufsetze, so kann ich ja mit Add Reference ne Lib auswählen. Das Problem ist, ich kann für Debug und Release nur eine auswählen.
Gibt es da einen Weg, die Assembly als Referenz buildabhängig zu haben?

Ich weiß, dass es geht, wenn man bei Add Reference ein Projekt in der gleichen SLN nimmt, dann wird im Debug Debug und im Release Release genommen, aber ich habe ja, wie gesagt, nur die dll.

Danke

Vs 2008

Thema: Kann msbuild eine Solution oder .cproj Dateien bauen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Erledigt.
msbuild kann direkt Projektmappen bauen.
Ich ging irgendwie davon aus, dass es über ne XML Datei eine .cproj Mappe generiert und nicht baut

Thema: Kann msbuild eine Solution oder .cproj Dateien bauen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Wir bekommen von einem Drittanbieter eine Middleware, die leider nur aus Solutions und Projektmappen besteht.
Mein Ziel ist es, eine Build-Umgebung zu haben, um so etwas automatisiert zu bauen.
Ich hab da an msbuild gedacht, weil das im Gegensatz zu anderen Build Scripten einerseits C# Projekte generieren kann und andererseits habe ich die Hoffnung, dass msbuild ein Tool zum Bauen von cproj Bietet.
Ich bin seit einigen Tagen am Einlesen in msbuild und mir ist klar, wie ich ein Build Script baue, was mir letztendlich dann eine Solution und eine cproj Datei generiert. Aber gibt es einen Weg ein vorhandenes cproj automatisiert zu bauen?
Ich meine das so ähnlich, wie über nmake, nur dass ich halt keine Makefile sondern eine cproj und sln Datei habe


(VS 2008, btw)

Thema: Unit Test, wie krieg ich den Namen des Zielverzeichnisses raus?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

@TheGear, ich konnte es noch nicht testen, daher habe ich dazu noch nichts gesagt.

@haarrrgh: Die DLLs sind alle 3rdparty. Sprich kein Source vorhanden

Thema: Unit Test, wie krieg ich den Namen des Zielverzeichnisses raus?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von 0815Coder
Versuchs mal im PostBuild event mit zukopieren.

Ja, aber wohin denn? Das ist doch der Titel meines Threads. Der Name wird aus meinem benutzernamen und Gruppennamen meines Rechners plus einem zeitstempel dynamisch generiert. Daher temporärer Name. Das ist ein C# Test Projekt, kein C# Projekt. Es werden dort spezielle Verzeichnisse angelegt und wieder gelöscht und für die finde ich kein Makro

Thema: Unit Test, wie krieg ich den Namen des Zielverzeichnisses raus?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ne, sagte ja, kann diese nicht als Referenz hinzufügen, oder meinst du was anderes mit "hinzufügen" ?

Thema: Unit Test, wie krieg ich den Namen des Zielverzeichnisses raus?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ich habe einen Unit Test in C# gebaut, der mehrere DLLs benötigt. Die kopiert die IDE beim Start auch immer korrekt in ein "TestResults\TEMPORÄRER_NAME" Verzeichnis.
Mein Problem ist, das kopieren reicht nicht. Der temporäre Name, also das Verzeichnis wird nach der Ausführung des Tests ja gelöscht und durch eine trx Datei ersetzt.

Der Haken an der Sache, bei dem erstellen dieses temporären Verzeichnissen kopiert die IDE zwar DLLs, aber das Ergbnis ist kein funktionsfähige Testanwendung. Da eine der kopierten DLLs dynamisch zur Laufzeit eine DLL nachläd, welche aber nicht in das temporäre Verzeichnis kopiert worden ist.
Ich kann die betroffene DLL nicht als Referenz in das Projekt einfügen, weil es keine gültige Net oder Com DLL ist.
Wie soll man mit so etwas umgehen? Wie stelle ich sicher, dass diese DLL gefunden werden kann?

Edit: Ich habe schon versucht den Pfad, wo die DLLs liegen, die nicht mitkopiert werden als Referenz Pfad anzugeben, aber das funktioniert nicht.
Ich kannes auch nicht in den globalen Environment Path aufnehmen, weil so das Projekt auf anderen Rechnern nicht mehr geht

Thema: XMLObjectGen und NULL
Am im Forum: Datentechnologien

Ich habe folgende XSD:

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <xsd:complexType name="A">
      <xsd:sequence>
         <xsd:element name="GroupedWith" type="Position"  nillable="true" />
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="Position">
      <xsd:sequence>
      </xsd:sequence>
   </xsd:complexType>

</xsd:schema>

Im Endeffekt ist ein Knoten "Position" ein Element von A.
Nun generiere ich mir die C#Klasse daraus und habe bei dem GroupedWith aber das Problem, dass ich niemals ein null bekommen kann.


[XmlElement(Type=typeof(Position),ElementName="GroupedWith",IsNullable=false)]
		[EditorBrowsable(EditorBrowsableState.Advanced)]
		public Position __GroupedWith;
		
		[XmlIgnore]
		public Position GroupedWith
		{
			get
			{
				if (__GroupedWith == null) __GroupedWith = new Position();		
				return __GroupedWith;
			}
			set {__GroupedWith = value;}
		}

XSDObjectGen generiert mir bei dem getter automatisch ein new, wenn null.
Das ist aber absolut nicht das, was ich will. Ich erwarte dort null. Sprich wenn keine gruppierung vorhanden ist, soll ich auf keien Fall ein Objekt erzeugt bekommen.
Nun bekomme ich aber XSDObjectGen nicht dazu, einfach __GroupedWith zu returnen, ohne da die == null abfrage zu machen.

Ich habe bereits imXML Versucht dem GroupedWith ein "nillable=true" zu vergeben, ohne erfolg

Thema: WCF, kann XSD.exe das?
Am im Forum: Netzwerktechnologien

Ich habe ein XSD Datei definiert und mittels des Tools xsd.exe auch die passenden serialisierbaren XML Dateien bekommen.
Nun bin ich aber Level 2 :D und benötige korrektes Handling von zirkulären Referenzen und Referenzen an sich (also keine Klone, wenn zwei mal das gleiche Objekt referenziert wird)
Nun hilft mir ja WCF da enorm, weiter: Serialization and Deserialization
Das händelt referenzen und co, aber was ist nun mit meiner XSD Datei? Ich generiere den C# Code ja nicht vonhand und würde das auch ungern tun müssen.

Gibt es da etwas, was XSD in WCF konforme C# Klassen umwandeln kann?

Thema: Wie Events debuggen/tracen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Funktioniert denn das auch mit Events? Stack Traces helfen mir nur bedingt, da ich ja garnicht weiß, wohin er im Code überhaupt springt

Thema: Wie Events debuggen/tracen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich arbeite mit Source einer Anwendung die komplett auf Events aufbaut. Es gibt defakto sehr wenige lineare Methoden aufrufe sondern viel mehr gefeuerte Events.

Mein Problem ist, wenn ich versuche zu verstehen, wie das Programm funktioniert, muss ich den Events hinterher.

Hat C# eine Möglichkeit, alle gefeuerten Events zu verfolgen primär wäre es beim Debuggen hilfreich, aber eine log ausgabe tut es auch. Sobald eigene Events gefeuert werden, komm ich ja in die Methoden rein, aber wenn die .net Events gefeuert werden, hilft mir ein Step Into nicht und ich verpasse die folgenden aufrufe

Thema: Gibt es eine Art fluent Interface für die Container Typen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich habe aus einer XSD eine cs Klasse generiert, die eine Liste vom Typ T[] beinhaltet. Sprich ein Array.
Wenn ich die Liste fülle so muss ich diese ja mittels new T[meine Größe] initialisieren.
Da feste Größen aber lame sind, würde man ja dafür ein List<T> nehmen, das befüllen und dann ein ToArray() aufrufen.

Meine Frage aber, gibt es einen Weg, so etwas zu machen:


Obj.meinArrayOfT = new List<T>().Add(einT).ToArray();

Mir ist klar, dass ich hier den Umweg über ToArray sparen kann. Worauf ich aber hinaus will, ist die Frage, ob irgendwo über einen Wrapper oder so das Konzept von Fluent Interfaces bereits realisiert wurde. Sprich alles was normalerweise void zurück gibt, return anstelle von void immer this.

Nettes beispiel:


var liste = new List<T>().Add(t1).Add(new T(..)).Add(t2);

Das wäre wirklich ab und zu recht hilfreich

Thema: Class2 erbt von Class1 : Designer : Could not load file or assembly
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Alles geschlossen und neu gebaut. gleiches Problem.
von 3rdparty wird nicht geerbt, nur benutzt

Thema: Class2 erbt von Class1 : Designer : Could not load file or assembly
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Wir haben ein Projekt bei dem die Form1 eine Reihe von 3rd party assemblies anzieht.
Diese werden korrekt referenziert und geladen. Anwendung läuft super.

Nun erstelle ich eine Form2 die von Form1 erbt. Sie befindet sich im gleichen Projekt.
Nun passiert folgendes:

Der Designer von Form2 funktioniert nicht mehr. Ich bekomme einen Error:

Zitat
Could not load file or assembly '3rdPartyassembly, Version=..., Culture=neutral, PublicKeyToken=null' or one of its dependencies. Das System kann die angegebene Datei nicht finden.
Der Callstack verweist auf den Form1 Constructor


Die gleiche Meldung steht in der Error list als Warning wobei File leer ist, Line und Column auf 0 verweisen.

Die Assembly ist jedoch definitiv vorhanden, weil Form1 sie ja vorher benutzt hat.
Ich habe mal using 3rdPartyAssembly in Form2 eingetragen, wird auch erkannt.
Die Warnung bekomme ich dennoch.

Die Anwendung läuft aber dennoch. Sprich wenn die Main anstatt Form1 Form2 startet, ist alles in Ordnung.
Allerdings würde ich schon gerne den Designer haben.
Hat jemand eine Idee, womit das zusammen hängt? Mit der 3rdParty Assembly eher nicht, wie ich meine.

IDE ist VS 2008

Edit: dieser Fehler taucht auch auf, wenn ich in Form2 den base constructor garnicht aufrufe...

Thema: Aktive Instanz einer Windows.Forms Anwendung ermitteln (von hinten durch das Auge)
Am im Forum: GUI: Windows-Forms

Jepp, keine Frage.
Das wird durchaus auch passieren.
Aber aktuell ist es noch nicht passiert und der Host kann im Moment nicht geändert werden.

Das soll auch kein Produktivcode werden, sondern eher ein Proof of Concept des Plugins.
Die Leute, die sich das angucken, verstehen nichts von Callbacks oder ähnlichem, sondern brauchen quasi ne visuelle Demo

Thema: Aktive Instanz einer Windows.Forms Anwendung ermitteln (von hinten durch das Auge)
Am im Forum: GUI: Windows-Forms

Was eventuell interessant wäre: Ist es möglich per Reflection eine Methode aus einer anderen Assembly zu überladen oder sich da reinzuhängen?

Die Hauptanwendung hat update routinen, die keine Events oder etwas in der Art feuern, wenn sie beendet worden sind. Ich muss aber nach dem Update zusätzliche Operationen ausführen, die immer nach dem Update ausgeführt werden müssen.

Problem ist: Mein Plugin kriegt nicht mit, wann das Update durchgeführt worden ist

Thema: Aktive Instanz einer Windows.Forms Anwendung ermitteln (von hinten durch das Auge)
Am im Forum: GUI: Windows-Forms

Nö. Auf A habe ich kein Zugriff, aber A wirft andere Events, an die ich mich probehalber anhängen kann, dann ist der Ctor der Form schon durch und ist verfügbar

Thema: Was hat AssemblyKeyFile("") zu bedeuten? (InternalsVisibleTo Probleme)
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ne, ist auch nicht strong named.

Wie gesagt, wenn ich diesen AssemblyKey Block aus der App rausnehme, dann meckert er ja nicht mehr

Thema: Was hat AssemblyKeyFile("") zu bedeuten? (InternalsVisibleTo Probleme)
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Das mit dem Public Key ist aber nur nötig, wenn strong-named Assemblies im Spiel sind, oder? Und ich sehe nicht, wo das der Fall sein soll.

Die Anwendung hat kein /key und signiert sicht meiner Meinung nach ja auch nicht, das hab ich durch sn.exe gecheckt.
Das heißt es sollte garkein Public Key geben

Thema: Was hat AssemblyKeyFile("") zu bedeuten? (InternalsVisibleTo Probleme)
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Mir ist aufgefallen, dass ich bei einem Projekt keine Unit Tests nutzen kann, weil diese auf Internals von einer Assembly zugreifen müssen:


[assembly: InternalsVisibleTo("Tester")]

->
Zitat
error CS1726: Friend assembly reference 'Tester' is invalid. Strong-name signed assemblies must specify a public key in their InternalsVisibleTo declarations.

Ok. Verwirrung ist bei mir groß. Das heißt doch, die Anwendung ist strong named. Oder?
Ich hab die betroffene Executable ohne das Internals gebaut und mal mit sn.exe gecheckt:
 $ sn.exe -T app.exe
app.exe does not represent a strongly named assembly

Öh? Was? In den Settings ist bei der Anwendung das Sign Assembly auch deaktiviert.

Wie kommt .net auf die idee, dass es strong-named ist?

Dann hab ich die AssemblyInfo.cs genauer angeguckt, ganz unten steht noch ein Block:


[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
Aber was bedeutet das? Heißt das, dass kein Strong-name erzeugt wird, oder ist das ein Artefakt von .net 2.0 und bewirkt, dass ich keinen Key haben, aber dennoch strong-named bin???

App.exe (nicht von mir) wird mit VS 2008 und Framework 2.0 kompiliert, mein Tester mit 3.5.

Thema: Aktive Instanz einer Windows.Forms Anwendung ermitteln (von hinten durch das Auge)
Am im Forum: GUI: Windows-Forms

Ich denke das Problem bei mir ist, dass die Form die Plugins im new von sich selbst lädt. Sprich das Plugin ist da bevor die Form bereit ist. Hmmmf.


Danke für die Hilfe

Thema: Aktive Instanz einer Windows.Forms Anwendung ermitteln (von hinten durch das Auge)
Am im Forum: GUI: Windows-Forms

Process.GetCurrentProcess ().MainWindowHandle liefert mir null.

Das habe ich bereits probiert. Aber wenn ihr das auch vorschlagt, dann sollte es wohl nicht null, oder?


Das Singleton von Myth erfordert die Anpassung des Host codes, was hier ja nicht möglich ist.



Danke

Thema: Aktive Instanz einer Windows.Forms Anwendung ermitteln (von hinten durch das Auge)
Am im Forum: GUI: Windows-Forms

Es gibt eine Anwendung A, welche eine Form instantiiert und desweiteren ein Plugin, dynamisch zur Laufzeit lädt, welches ein Interface implementiert.

Ich befinde mich im Scope des Plugins und kenne erstmal nicht die Elternanwendung und habe keine Referenzen darauf bei der Erzeugung des Plugins.
Also sprich kein new MeinPlugin(this);
Das Plugin kennt also seinen Kontext nicht.

Mein Problem an dieser Stelle: Ich benötige diesen Kontext.
Gibt es einen Weg aus dem Plugin (DLL) die Form der Anwendung A zu bekommen?

Vom Konzept her ist es unsauber, dessen bin ich mir bewusst. Ich versuche nur zu prüfen, ob ich über Reflection an die aktuelle Instanz rankomme oder nicht.
Die Typinformation von der Form da oben habe ich bereits durch das Einbinden der Anwendung A Assembly, ich finde nur keinen Weg, mir die Instanz zu holen.

Ich krieg über Reflection den Stack und die Methode, aber nicht die Instanz selbst, hmmm

Thema: Png lesen und anzeigen ok, png schreiben geht in die Hose
Am im Forum: Grafik und Sound

Mein Weg:
Gui und eine Picturebox auf die Canvas ziehen. SizeMode auf StretchImage stellen


Image i =  new Bitmap(@"test.png");
pictureBox1.Image = i;
i.Save(@"D:\snapshots\results\foo.png");

Das Ziel ist quasi das Bild direkt wieder als png abzuspeichern. Das Bild in picturebox sieht vollkommen korrekt aus, aber das gleiche Image abgespeichert nochmal als PNG zerschießt mir die Darstellung.

Hat .net 3.5 Probleme mit der Verarbeitung von 48 bits per Pixel PNG Daten?
Wenn ich selber eine PNG mit Photoshop erstelle, dann kann die Problemlos gelesen werden.
Beispiel Datei, Achtung über 1 mb groß

Thema: ContextMenuStrip und mehrere Objekte, die das Teil nutzen, wie Parent finden?
Am im Forum: GUI: Windows-Forms

Ergänzung.
Ich habe in den Datenstrukturen des sender objects Ausschau nach ContextMenu gehalten und keins gefunden.
Der sender ist ein MenuItem, der Owner davon aber ein ToolStripMenu und kein ContextMenu (obwohl das MenuItem in ein ContextMenu gepackt worden ist).
Der cast von ToolStrip zu ContextMenu hat nicht funktioniert und das ToolStrip Menu hat kein SourceControl. Ferner konnte ich im Parent auch kein ContextMenu ausmachen

Thema: ContextMenuStrip und mehrere Objekte, die das Teil nutzen, wie Parent finden?
Am im Forum: GUI: Windows-Forms

Welcher aber nicht im sender des Click Events vom MenuItem drin ist, oder?
Ich find den nur, wenn ich contextmenu Opening Event abfange

Thema: ContextMenuStrip und mehrere Objekte, die das Teil nutzen, wie Parent finden?
Am im Forum: GUI: Windows-Forms

Ich hab ein ContextMenuStrip mit Items. Das Menü ist bei drei verschiedenen Panels als "ContextMenuStrip" eingetragen.

Die Items werden dann zwar bei Rechtsklick angesprungen und ich kann auch an das Parent des Items, sprich an das ContextMenuStrip drankommen, aber ich finde das Panel nicht, von dem das Menü geöffnet worden ist.
Gibt es diese Information?

Thema: Eigenes Usercontrol Redraw problem
Am im Forum: GUI: Windows-Forms

Ah danke

Thema: Eigenes Usercontrol Redraw problem
Am im Forum: GUI: Windows-Forms

Diese Option ist mir und der Doku unbekannt