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 theYoRecords
Thema: App.Config deaktivieren [genauer: Verhindern, dass eine vorhandene app.config geladen wird]
Am im Forum: Rund um die Programmierung

Gar keine schlechte Idee.. Danke! So werd ich das machen.
Aber ich kann mir irgendwie nicht vorstellen, dass es dafür keine Option gibt.. Falls ich noch etwas finde lasse ich es euch wissen.

Thema: App.Config deaktivieren [genauer: Verhindern, dass eine vorhandene app.config geladen wird]
Am im Forum: Rund um die Programmierung

Danke für eure Antworten!

Sorry für die ungenaue Erklärung. Ich weiß wohl, dass ich sie einfach löschen kann. ;) Darum geht es nicht.
Ich will verhindern, dass ein User eine App.config hinzufügen / ändern kann, da er ja z.B. das StrongNameBypass-Feature aktivieren könnte, was aber nicht im Sinne der Anwendung ist.
Selbst wenn ich die Datei vor dem Kompilieren lösche, kann der User einfach selbst eine erstellen und zur exe legen. Die wird dann ganz normal geladen. Und das würde ich gerne irgendwie verhindern (da die Anwendung ja sowieso keine App.config benötigt).

Ich könnte mir z.B. vorstellen, dass es dafür eine Möglichkeit in der csproj-Datei geben könnte. Konnte aber leider nichts dazu finden.

Thema: App.Config deaktivieren [genauer: Verhindern, dass eine vorhandene app.config geladen wird]
Am im Forum: Rund um die Programmierung

Hallo,

gibt es irgend eine Möglichkeit zu verhindern, dass Konfigurationen in der App.Config (vor Allem Binding-Redirects und StrongNamesBypass) vorgenommen werden können?

Danke im Voraus!

Thema: XmlSerialization verhindern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke für eure Antworten (und Sorry für die späte Rückmeldung)!

Im Prinzip hat Abt recht. Eigentlich sollte das nicht meine Sorge sein. Dennoch glaube ich nicht, dass es gegen einige konventionen verstößt, ein Interface zu implementieren, dass man nicht verwenden können soll.

Das mit den Codepermissions werd ich mal unter die Lupe nehmen, danke.

Thema: Assembly durch starken Namen eindeutig identifizierbar?
Am im Forum: Rund um die Programmierung

Hallo Gü!

Vielen Dank für deine Antwort!

Ich kenne den Unterschied zwischen Strong Names und Authenticode.
Der Grund, warum ich dieses Problem mit Strong Names lösen wollte, ist z.B. der, dass ich hier kein Zertifikat kaufen muss und dieses Zertifikat (und alle damit ausgestellten) nicht warten (erneuern) muss.

Hilfreiche Informationen konnte ich aus dem zweiten Link leider keine filtern. Ich habe mir den Artikel auf Codeproject durchgelesen auf den verwiesen wird aber konnte das lokal nicht wirklich reproduzieren.
Zwar habe ich es geschafft den Public Key von einem authorisierten auf ein "Fake-Plugin" zu übertragen, jedoch konnte dieses dann nicht einmal geladen werden, da sich schon das .NET Framework aufregte, dass die Signatur nicht verifiziert werden konnte.

Im ersten Artikel steht ja folgendes:

Zitat
The purpose of a strong name is solely to ensure that when you load an assembly by name, you are loading exactly the assembly you think you are loading.

und wenn das tatsächlich so ist, ist mein Problem damit ja gelöst. Das Programm hätte ja Zugriff auf eine Datenbank mit allen authorisierten Public Keys. Wenn der benutze Key darin nicht vorkommt, wird es nicht geladen.
Und sollte eine authorisierte Person ein "böses" Plugin schreiben, kann es dieser Persoon im Nachhinein ohne Probleme zugeordnet werden.

Also sofern diese Aussage oben stimmt und es keine funktionierende Möglichkeit gibt, einen starken Namen von einem Plugin auf das nächste zu übertragen (ohne den privaten Key zu besitzen), sehe ich da kein Problem.
Oder was überseh ich da?

MFG Yo

Thema: Assembly durch starken Namen eindeutig identifizierbar?
Am im Forum: Rund um die Programmierung

Hallo,

Ich arbeite im Moment an einem großen Projekt, bei dem Sicherheit eine wichtige Rolle spielt. Wir wollen autorisierten Personen die Möglichkeit geben, selbst Plugins dafür zu entwickeln.

Zur Überprüfung dieser Autorisierung haben wir an starke Namen gedacht, die von uns in Form von PFX-Dateinen an berechtigte Personen verteilt werden. Jeder Schlüssel ist dem Entwickler eindeutig zuzuordnen und jedes Plugin wird beim Laden darauf geprüft.

Die Frage ist nun wie sicher diese Strategie tatsächlich ist. Ich werde aus den Informationen, die man dazu findet, nicht wirklich schlau. Teilweise liest man, dass ein potentieller "Schädling" mit HEX-Editor einfach die Signatur auf ein selbst erstelltes Plugin übertragen kann.
Stimmt das?

Danke im Voraus!

Thema: XmlSerialization verhindern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke für eure Antworten!
Das hatte ich schon befürchtet. Das XmlIgnoreAttribute hilft in diesem Fall leider auch nicht weiter, da der Entwickler dann ja auch erst beim bzw. sogar erst nach dem Serialisieren merken würde, dass das nicht funktioniert. Und sonst gibt es auch nichts hilfreiches.
Insofern ist mein Workaround wohl die beste Möglichkeit, obwohl es mir nicht gefällt, ein Interface zu implementieren, das schlussendlich überhaupt nicht genutzt wird / werden kann.

Es wäre schön wenn man irgendwie abfragen könnte, wie das Objekt gerade serialisiert wird oder es überhaupt einfach ein NotXmlSerializable-Attribut geben würde. Oder noch viel besser: Wenn man IXmlSerializable implementieren müsste um ein Objekt mit der XmlSerializer serialisieren zu können.

Klar gibt es andere Möglichkeiten das Objekt zu serialisieren. So soll es ja auch sein. Nur soll / kann es nicht mit XML dargestellt werden.

Thema: XmlSerialization verhindern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo!

Kennt jemand eine Möglichkeit in einer Klasse die ISerializable implementiert zu erreichen, dass eine Exception (NotSupportedException) geworfen wird, sobald das Objekt an einen XmlSerializer übergeben wird?
Dummerweise ist ein Objekt, das ISerializable implementiert (und nicht IXmlSerializable) im Grunde auch mit einem XmlSerializer serialisierbar, solange es keine öffentlichen Eigenschaften ohne Setter aufweist.

Mein anfängliches (grausames) Workaround war, zusätzlich IXmlSerializable zu implementieren und beim Aufruf von ReadXml und WriteXml eine Exception zu werfen. Das ist aber natürlich nicht im Sinne des Erfinders..
Ich muss also von vornherein klarstellen, dass dieses Objekt nicht mit dem XmlSerializer serialisierbar ist.

Gibt es da eine Möglichkeit? Ich konnte leider trotz langer Suche keine Informationen dazu finden.

Vielen Dank im Voraus!

Thema: Schutz vor Deobfuscation
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

Es gibt schon unzählige Threads zum Thema obfuscation, wie sinnvoll es ist und welcher wohl der beste Obfuscator ist.. Aber hier mal was anderes:

Gibt es eine Möglichkeit Programme aufzuhalten, die sich ums Gegenteil kümmern?

Ich habe vor ein Paar Tagen den Confuser kennengelernt, der an sich ein sehr guter Obfuscator zu sein scheint. Heute musste ich leider feststellen, dass es da ja z.b. NETDeob gibt, wodurch das ja alles noch weniger Sinn hat.

Mir war klar, dass obfuscation kein wirklicher Schutz ist. Aber dass 1 Klick reicht ist ja wirklich nicht mehr lustig..

Kennt jenand eine Möglichkeit so einer automatisierten Umkehrung vorzubeugen?

Thema: [erledigt] A reference to mshtml.dll could not be added
Am im Forum: Rund um die Programmierung

Das Problem ist gelöst!

Ich musste einfach mit tlbimp.exe aus der mshtml.tlb eine Interop-DLL erstellen.

Thema: [erledigt] A reference to mshtml.dll could not be added
Am im Forum: Rund um die Programmierung

Uuuh... Daran hatte ich gar nicht gedacht. ;( Sorry.. Ich war so geblendet von der Tatsache, die ganze Zeit eine mshtml.dll zu nutzen, dass mit nicht in den Sinn gekommen ist, dass nicht jede mshtml.dll auch automatisch eine COM-DLL sein muss..

Na gut, dann eben anders.. Weiß jemand wo ich eine mshtml 9 COM-DLL finde? Ich bräuchte das IElementSelector-Interface, wie in diesem Beispiel.

Thema: [erledigt] A reference to mshtml.dll could not be added
Am im Forum: Rund um die Programmierung

Hallo!

Ich versucher gerade eine Referenz zur Version 9 von mshtml.dll hinzuzufügen, aber scheitere mit folgender Fehlermeldung:

Fehler
A reference to mshtml.dll could not be added. Please make sure that the file is accessible and that it is valid assembly or COM component.

Ich versuche sie direkt aus System32 zu referenzieren, da die Microsoft HTML Object Library Version 4 ist..
Man findet zu diesem Thema einige Threads, jedoch leider nichts hilfreiches..
Kennt jemand die Lösung für dieses Problem?

Vielen Dank im Voraus!

Thema: Referenz statt Kopie [==> deshalb heißt es ja auch *Referenz*typ]
Am im Forum: Rund um die Programmierung

? Das gibt es doch nicht.. Wieso ist mir das bis jetzt noch nie aufgefallen? Ich programmiere jetzt schon ziemlich lange mit C# aber das ist das erste mal, dass ich dieses Problem habe.

Danke für eure Antworten! Dann schäm ich mich mal schnell in Grund und Boden.

Thema: Referenz statt Kopie [==> deshalb heißt es ja auch *Referenz*typ]
Am im Forum: Rund um die Programmierung

Hallo!

So etwas habe ich noch nie erlebt..
Hier ein kurzes Beispiel:

// Hier ist ein Objekt mit einer Eigenschaft 'List<int> Zahlen', die die Zahlen 1,2 und 3 beinhaltet.
Objekt1 o1 = dasObjekt;

// Diese Eigenschaft wird jetzt in die Variable 'zahlen' kopiert
List<int> zahlen = o1.Zahlen;
// Und der wird die 4 hinzugefügt
zahlen.Add(4);

Komischerweise beinhaltet o1.Zahlen aber jetzt auch auf einmal die 4. Ich kann mir das beim besten Willen nicht erklären.
Wenn ich mir vor und nach dem hinzufügen die Werte von o1.Zahlen ausgebe kann ich das genau beobachten.
Wie kann das sein? Hat jemand so etwas schon einmal erlebt?

Vielen Dank im Voraus!

Edit:
Und wenn ich o1 vorher noch in eine Variable kopiere, ändert sich beim Hinzufügen sogar die..

Thema: Mono: WinForms auf OS X -> Eingabe in TextBox nicht möglich
Am im Forum: Rund um die Programmierung

Danke für deine Antwort!

Wie gesagt kommt vor dem Problemformular ein anderes, ebenfalls mit TextBoxen, die aber problemlos funktionieren. Des weiteren funktioniert das gesamte Programm unter Windows und das Problem tritt nur unter OS X, also unter Mono, auf.
Ich werde es trotzdem mal auf diese Weise versuchen, sobald ich wieder zu einem Mac komme.

Thema: Mono: WinForms auf OS X -> Eingabe in TextBox nicht möglich
Am im Forum: Rund um die Programmierung

Hallo!

Komische Situation: Ich habe ein StartFenster, in dem man einen User-Account festlegen muss. Das funktioniert auch wunderbar. Wenn das Programm dann neu startet und man nach User und Passwort gefragt wird, ist es nicht möglich in den TextBoxen zu schreiben. UNd das obwohl von dem her nichts anders ist als beim ersten Fenster. Es wird zwar ein IBeam angezeigt wenn man mit der Mouse über die TextBox fährt, aber sie erhält keinen Focus wenn man reinklickt und man kann wie gesagt nicht in ihnen schreiben. Die Buttons darunter funktionieren aber wieder problemlos.
Kennt jemand dieses Problem und weiß wie man es löst?

Danke im Voraus!

Thema: App-Bundle für OS X erstellen: ShellScript wird unerwartet beendet
Am im Forum: Rund um die Programmierung

Vielen Dank für deine Hilfe!

Das ist eigenartig.. Das mit dem Slash ist eine sehr gute Idee. Ist mir gar nicht aufgefallen..
Soweit ich weiß ist es das Snow Leopard..
Hab das Script vorher natürlich auf executable gesetzt. Weiß aber auch nicht genau ob es funktioniert hat, da weder eine Erfolgs- noch eine Fehlermeldung kommt. Aber ich denke, dass eine andere Fehlermeldung kommen würde wenn es daran liegen würde.
Werde es sobald ich zuhause bin gleich mal mit geändertem Slash versuchen.

Edit:
Hab es gerade versucht aber es hat leider nichts geändert.. Und ja, es ist Snow Leopard.

Edit2:
Bin gerade einen großen Schritt weiter gekommen. Hab in einem Post gelesen, dass sowas am Editor liegen kann. Hab daraufhin EditRocket runtergeladen und damit ist der Fehler wohl behoben. Es erscheinen zwar 2 Syntax Errors (Zeile 17 und 18), die im Endeffekt dann aber einfach übersprungen werden.
Dummerweise bekomme ich daraufhin eine TypeInitializationException, um die ich mich wohl noch kümmern muss bevor das Programm läuft. Aber daran solls nicht scheitern.
Nochmal danke für deine Hilfe!

Thema: App-Bundle für OS X erstellen: ShellScript wird unerwartet beendet
Am im Forum: Rund um die Programmierung

Danke für deine Antwort!

Ich habe das Script 1:1 übernommen und nur die Strings verändert, die verändert werden mussten (Programmname, Mono-Version).

Am Anfang wurden einige Syntax Errors ausgegeben (Syntax Error near...), die weg waren als ich alle Kommentare und überflüssigen Leerzeichen entfernt habe. Aber am Schluss kam dann eben die besagte Meldung. Den genauen Text weiß ich nicht mehr und kann es im Moment leider auch nicht noch einmal ausführen. Jedenfalls war es irgendwas mit "unexpected end of file".
Der Fehler tritt scheinbar sehr häufig auf, und heißt angeblich im Endeffekt nur, dass irgendwo im Script ein Fehler ist. Kann sogar ganz am Anfang sein.
Ich habe das Script mehrmals neu aus dem Post kopiert, aber immer mit dem gleichen Ergebnis. Also kann ich ausschließen, dass ich versehentlich irgendwas geändert habe was ich nicht andern sollte..

Edit:
Wenn ich das Script so ausführe

#!/bin/sh
 
#get the bundle's MacOS directory full path
DIR=$(cd "$(dirname "$0")"; pwd)
 
#change these values to match your app
EXE_PATH="$DIR\npsvosx.exe"
PROCESS_NAME=npsvosx
APPNAME="NPSV"
 
#set up environment
MONO_FRAMEWORK_PATH=/Library/Frameworks/Mono.framework/Versions/Current
export DYLD_FALLBACK_LIBRARY_PATH="$DIR:$MONO_FRAMEWORK_PATH/lib:/lib:/usr/lib"
export PATH="$MONO_FRAMEWORK_PATH/bin:$PATH"
 
#mono version check
REQUIRED_MAJOR=2
REQUIRED_MINOR=8
 
VERSION_TITLE="Cannot launch $APPNAME"
VERSION_MSG="$APPNAME requires the Mono Framework version $REQUIRED_MAJOR.$REQUIRED_MINOR or later."
DOWNLOAD_URL="http://www.go-mono.com/mono-downloads/download.html"
 
MONO_VERSION="$(mono --version | grep 'Mono JIT compiler version ' |  cut -f5 -d\ )"
MONO_VERSION_MAJOR="$(echo $MONO_VERSION | cut -f1 -d.)"
MONO_VERSION_MINOR="$(echo $MONO_VERSION | cut -f2 -d.)"
if [ -z "$MONO_VERSION" ] \
	|| [ $MONO_VERSION_MAJOR -lt $REQUIRED_MAJOR ] \
	|| [ $MONO_VERSION_MAJOR -eq $REQUIRED_MAJOR -a $MONO_VERSION_MINOR -lt $REQUIRED_MINOR ] 
then
	osascript \
	-e "set question to display dialog \"$VERSION_MSG\" with title \"$VERSION_TITLE\" buttons {\"Cancel\", \"Download...\"} default button 2" \
	-e "if button returned of question is equal to \"Download...\" then open location \"$DOWNLOAD_URL\""
	echo "$VERSION_TITLE"
	echo "$VERSION_MSG"
	exit 1
fi
 
#get an exec command that will work on the current OS version
OSX_VERSION=$(uname -r | cut -f1 -d.)
if [ $OSX_VERSION -lt 9 ]; then  # If OSX version is 10.4
	MONO_EXEC="exec mono"
else
	MONO_EXEC="exec -a \"$PROCESS_NAME\" mono"
fi
 
#create log file directory if it doesn't exist
LOG_FILE="$HOME/Library/Logs/$APPNAME/$APPNAME.log"
mkdir -p "`dirname \"$LOG_FILE\"`"
 
#run app using mono
$MONO_EXEC $MONO_OPTIONS "$EXE_PATH" $* 2>&1 1> "$LOG_FILE"

also an sich exakt wie es im Post steht, kommt bei mir die Meldung "bad interpreter: No such file or directory".
Soweit ich weiß ist das eben wegen den überflüssigen Leerzeichen.
Sobald ich die entfernt habe und der Fehler verschwindet, kommt die Meldung syntax error: unexpected end of file".
Das Script sieht dann so aus:
#!/bin/sh
DIR=$(cd "$(dirname "$0")"; pwd)
EXE_PATH="$DIR\npsvosx.exe"
PROCESS_NAME=npsvosx
APPNAME="NPSV"
MONO_FRAMEWORK_PATH=/Library/Frameworks/Mono.framework/Versions/Current
export DYLD_FALLBACK_LIBRARY_PATH="$DIR:$MONO_FRAMEWORK_PATH/lib:/lib:/usr/lib"
export PATH="$MONO_FRAMEWORK_PATH/bin:$PATH"
REQUIRED_MAJOR=2
REQUIRED_MINOR=8
VERSION_TITLE="Cannot launch $APPNAME"
VERSION_MSG="$APPNAME requires the Mono Framework version $REQUIRED_MAJOR.$REQUIRED_MINOR or later."
DOWNLOAD_URL="http://www.go-mono.com/mono-downloads/download.html"
MONO_VERSION="$(mono --version | grep 'Mono JIT compiler version ' |  cut -f5 -d\ )"
MONO_VERSION_MAJOR="$(echo $MONO_VERSION | cut -f1 -d.)"
MONO_VERSION_MINOR="$(echo $MONO_VERSION | cut -f2 -d.)"
if [ -z "$MONO_VERSION" ] \ || [ $MONO_VERSION_MAJOR -lt $REQUIRED_MAJOR ] \ || [ $MONO_VERSION_MAJOR -eq $REQUIRED_MAJOR -a $MONO_VERSION_MINOR -lt $REQUIRED_MINOR ] 
then
	osascript \
	-e "set question to display dialog \"$VERSION_MSG\" with title \"$VERSION_TITLE\" buttons {\"Cancel\", \"Download...\"} default button 2" \
	-e "if button returned of question is equal to \"Download...\" then open location \"$DOWNLOAD_URL\""
	echo "$VERSION_TITLE"
	echo "$VERSION_MSG"
	exit 1
fi
 
#get an exec command that will work on the current OS version
OSX_VERSION=$(uname -r | cut -f1 -d.)
if [ $OSX_VERSION -lt 9 ]; then  # If OSX version is 10.4
	MONO_EXEC="exec mono"
else
	MONO_EXEC="exec -a \"$PROCESS_NAME\" mono"
fi
 
#create log file directory if it doesn't exist
LOG_FILE="$HOME/Library/Logs/$APPNAME/$APPNAME.log"
mkdir -p "`dirname \"$LOG_FILE\"`"
 
#run app using mono
$MONO_EXEC $MONO_OPTIONS "$EXE_PATH" $* 2>&1 1> "$LOG_FILE"

Thema: App-Bundle für OS X erstellen: ShellScript wird unerwartet beendet
Am im Forum: Rund um die Programmierung

Hallo!

Seit einiger Zeit versuche ich eine .Net-Anwendung auf OS X per Doppelklick zum Laufen zu bringen, aber scheitere im Wesentlichen am App-Bundle.
In Creating a Mac App Bundle for a GTK# Application wird an sich ganz gut beschrieben wie man das macht, nur funktioniert das ShellScript bei mir nicht. Zuerst werden einige Fehler angezeigt, die auf überflüssige Leerzeichen zurückzuführen sind, aber wenn ich die alle behebe kommt eine Fehlermeldung die mir sagt, dass das Script an einem unerwartetem Punkt vorbei ist.
Ich kenne mich leider über haupt nicht mit ShellScripts aus, also gestaltet sich das debuggen sehr schwierig.
Komisch ist auch, dass sich auf der Seite viele Leute dafür bedanken, aber niemand erwähnt, dass es nicht funktioniert..
Ich hoffe jemand kann mir da helfen.

Vielen Dank im Voraus!

Thema: Verhindern einer OutOfMemoryException, wenn die Datei als ganzes zu groß für den Hauptspeicher ist
Am im Forum: Rund um die Programmierung

Das sind alles sehr interessante Ansätze, vielen Dank!

Mit so viel Input werde ich sicher eine gute Lösung finden. Im Moment ist aber ein anderes Projekt dazwischen gekommen, also kann ich mich im Moment leider nicht ganz diesem Problem widmen.

Thema: Suche Freeware Obfuscator
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo!

Im Prinzip gefällt mir Codefort sehr gut. Ich habe wirklich viele gratis Obfuscator ausprobiert (alle die ich finden konnte, und ich habe lange gesucht), und Codefort war eindeutig der beste von allen.

Anmerkung:
Einige Virenscanner erkennen in der Software jedoch eine Gefahr.

Thema: Verhindern einer OutOfMemoryException, wenn die Datei als ganzes zu groß für den Hauptspeicher ist
Am im Forum: Rund um die Programmierung

Vielen Dank für deine Antwort!

Dass es dadurch schneller wird kann ich mir kaum vorstellen. Außerdem wird das Unterfangen bzw. zumindest die Entschlüsselung dadurch um einiges komplizierter und es entstehen, glaube ich zumindest, zumindest bei meinem Verfahren noch ein paar weitere Nachteile. Aber das werde ich alles demnächst sehen. Eine andere Möglichkeit habe ich sowieso nicht.

Thema: Verhindern einer OutOfMemoryException, wenn die Datei als ganzes zu groß für den Hauptspeicher ist
Am im Forum: Rund um die Programmierung

Vielen Dank für eure Antworten!

Das dürfte eine solide Grundlage für die Lösung des Problems sein. Sobald ich Zeit habe werde ich mir das alles mal genau anschauen und durch den Kopf gehen lassen.

@chilic:
Es geht hierbei um einen Verschlüsselungs-Algorithmus der String- und Dateiverschlüsselung unterstützt, aber das spielt eigentlich keine Rolle. Das gleiche Problem tritt bei jedem Algorithmus bzw. Programm auf, das unbeschränkte Dateigrößen unterstützen soll (jedes Programm, das mit Dateien arbeitet, sei es jetzt WinZip, Word oder einfach nur das Standard-Notepad).

Thema: Verhindern einer OutOfMemoryException, wenn die Datei als ganzes zu groß für den Hauptspeicher ist
Am im Forum: Rund um die Programmierung

Vielen Dank für eure Antworten!

Vor Allem deine, realgun, hat mich ein Stück weitergebracht.

Aber schlussendlich werde ich nach jetzigem Wissensstand wohl nicht drum herum kommen, die Informationen Stück für Stück zu verarbeiten, wenn es für die zu verarbeitenden Dateien keine Größenbegrenzung geben soll..
Sehe ich das richtig?

Es wäre super wenn es es noch einen anderen Weg geben würde, da der Algorithmus schon jetzt recht lange für seine Arbeit braucht, und so noch um einiges länger brauchen wird. Aber vermutlich ist das wohl die einzige Möglichkeit.

Thema: Verhindern einer OutOfMemoryException, wenn die Datei als ganzes zu groß für den Hauptspeicher ist
Am im Forum: Rund um die Programmierung

Hallo!

Zu diesem Thema konnte ich leider nicht viel und überhaupt nichts hilfreiches finden..
Wie verhindert man eine OutOfMemoryException? Klar, einfach nicht so viel Speicher verbrauchen...
Nehmen wir an es wird eine Datei gelesen, und der Inhalt bearbeitet. Ab einer gewissen Größe bekomme ich diese Exception, aber wüsste nicht was ich anders machen soll. Schließlich brauche ich die Datei im Arbeitsspeicher um mit ihr arbeiten zu können. Sie Stück für Stück zu bearbeiten wäre sehr umständlich und funktioniert in manchen Fällen sowieso nicht.
Kann mir da jemand weiterhelfen?

Danke im Voraus!

Thema: programmatischen Verwendung von signtool.exe: No certificates were found that met all the given crit
Am im Forum: Rund um die Programmierung

Vielen Dank für eure Antworten!

Das Problem ist gelöst und lag doch ganz wo anders als vermutet..
Mein Programm sucht beim ersten Start automatisch nach signtool und makecert. Bei der Überprüfung dieser Dateien habe ich eine Versionsprüfung vergessen, somit wurden die Versionen für Win8 (automatisch die neuesten) geladen (ich hab Gott sei Dank Win7).
Bei meiner Fehlersuche ist mir das nicht aufgefallen weil ich für den externen Test die ausgegebenen Parameter an den Pfad des Win7-Signtools gehängt habe..

Thema: programmatischen Verwendung von signtool.exe: No certificates were found that met all the given crit
Am im Forum: Rund um die Programmierung

Danke für deine Antwort!

Das mit dem Arbeitsverzeichnis werd ich mal versuchen, aber ich glaub nicht dass es daran liegt, da sowieso der komplette Pfad vom Signtool übergeben wird.

Thema: programmatischen Verwendung von signtool.exe: No certificates were found that met all the given crit
Am im Forum: Rund um die Programmierung

Hallo!

Ich bin gerade dabei eine grafische Oberfläche fürs Signtool zu entwickeln, aber stehe vor einem rätselhaften Problem:

Wenn ich das Signtool in einem neuen Prozess starte und meine Argumente übergebe, bekomme ich die Meldung

Fehler
SignTool Error: No certificates were found that met all the given criteria
Was äußerst eigenartig ist, da ich erstens im Schritt davon noch sicherstelle, dass das angegebene Zertifikat existiert. Ich habe mir auch schon den verwendeten Command ausgeben lassen und den dann manuell im CMD eingegeben. Da trat dieses Problem nicht auf.
Diesen Tatsachen zufolge kann es höchstens noch sein, dass bei der Übergabe der Argumente an den Prozess irgendwas falsch läuft. Die Frage ist nur was.
Hat jemand eine Idee was da passieren könnte?

Hier ist der anscheinend betroffene Code:


                ProcessStartInfo pi = new ProcessStartInfo
                {
                    CreateNoWindow = true,
                    FileName = Core.Settings.Signtool.FilePath,
                    Arguments = a == Action.Sign ? data.GetSignCommand(f.FullPath) : data.GetVerifyCommand(f.FullPath),
                    RedirectStandardOutput = true,
                    RedirectStandardError = true,
                    UseShellExecute = false,
                    WindowStyle = ProcessWindowStyle.Hidden
                };

                using (Process p = new Process {EnableRaisingEvents = true, StartInfo = pi})
                {
                    p.OutputDataReceived += p_OutputDataReceived;
                    p.ErrorDataReceived += p_ErrorDataReceived;
                    p.Start();
                    p.BeginOutputReadLine();
                    p.BeginErrorReadLine();
                    p.WaitForExit();
                    p.Close();
                }

Wie gesagt: An GetSignCommand kann es mit Sicherheit nicht liegen..

Danke im Voraus!

Thema: DLL in andere DLL einbetten
Am im Forum: Rund um die Programmierung

OK, dann hab ich mich wohl falsch ausgedrückt.. Ich bin in dem Fall von öffentlichen statischen Methoden ausgegangen. Sonst halt Konstruktoren und öffentliche statische Properties.

Hab das Problem jetzt übrigens eh auf diese Weise gelöst.
Das Projekt wird um eine statische Klasse mit den Methoden erweitert und an oben genannte Stellen kommt ein Verweis auf die Signup-Methode (in der zuerst überprüft wird ob die Methode schon registriert wurde).
Scheinbar ist das wohl der einzige Weg.

Thema: DLL in andere DLL einbetten
Am im Forum: Rund um die Programmierung

Ganz verstehe ich nicht was du mir damit sagen willst.. Mir ist schon klar, dass ich mich nur einmal fürs Event anmelden muss, falls du das meinst.