.NET Blog   ·   .NET Casts   ·   .NET GUI Foren   ·   .NET BlogBook   ·   WPF Blogger   ·   visual studio one   ·   ASP.NET professional

  • ACHTUNG - NEUES BLOG

    Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
Download .NET Essentials Installer
Trickkiste

Abhängigkeiten (Referenzen) führen zu Kompilations-Problemen

04.08.06 - Base Framework
Beitrag von Norbert Eder
 Wer kennt das nicht bei größeren Aufträgen bzw. Produkten: Mehrere Projekte tummeln sich in einer Solution und referenzieren einander. Oder noch schlimmer, die einzelnen Projekte sind in unterschiedlichen Solutions eingebunden. Und eventuell sind diese auch gleichzeitig geöffnet. Dann kann es zu folgender Fehlermeldung kommen:

Error: The dependency [name], Version=2.0.0000.0, Culture=neutral,
PublicKeyToken=[etc]' in project [name] cannot be copied to
the run directory because it would conflict with dependency [name],
Version=0.0.0000.0, Culture=neutral, PublicKeyToken=[etc]'.

In diesem Fall einfach das Visual Studio beenden und alles aus dem bin-Ordner des Projektes löschen. Danach das Projekt im VS laden und neu kompilieren. Nun sollte ansich wieder alles in Ordnung sein.

PS: Natürlich auch die einzelnen Referenzen überprüfen, ob es hier nicht notwendige Einträge in diversen Projekte der Solution gibt.

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


WebException bei der Deinstallation von WinFX Runtime Components January CTP

30.07.06 - Base Framework
Beitrag von Norbert Eder
 Wer folgende Fehlermeldung bekommt (ersichtlich in den Dateien %temp%\dd_wcf_ret*):

Error: System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Double.Parse(String s, NumberStyles style, NumberFormatInfo info)
at System.ServiceModel.Install.InstallHelper.GetHighestOtherWcfRuntimeInstallPath()
at System.ServiceModel.Install.WebHostScriptMappingsInstallComponent.UninstallScriptMapFromPath (DirectoryEntry path, OutputLevel outputLevel)
at System.ServiceModel.Install.WebHostScriptMappingsInstallComponent.Uninstall (OutputLevel outputLevel)
at Microsoft.Tools.ServiceModel.ServiceModelReg.Run(String[] args)
at Microsoft.Tools.ServiceModel.ServiceModelReg.TryRun(String[] args)


der sollte folgendes unternehmen, damit die January CTP auch tatsächlich installiert werden kann:

servicemodelreg.exe -ua

Dies am besten im Verzeichnis C:\WINDOWS\WinFX\v3.0\Windows Communication Foundation aufrufen.

Danach ganz normal das Uninstall Tool, welches ich hier erwähnt hatte, ausführen. Die January CTP kann nun erfolgreich entfernt werden.

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Deinstallation von Pre-Released WinFX Components

30.07.06 - Base Framework
Beitrag von Norbert Eder
 Da es bei der Deinstallation von WinFX Beta-Produkten des öfteren zu Problemen kommt und die Software dadurch nicht vom Computer entfernt werden kann, der sollte sich das Pre-release WinFX Runtime Components Uninstall Tool genauer ansehen und gegebenenfalls verwenden. Es wird zwar beim Abbruch der Deinstallation darauf hingewiesen, aber nicht alle finden diesen Link auch :)

  1 Kommentar - 139 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Microsoft .NET Framework 3.0 - July 2006 CTP

20.07.06 - Base Framework
Beitrag von Norbert Eder
 Die July 2006 CTP des Microsoft .NET Frameworks 3.0 steht seit wenigen Tagen zum Download bereit. Unter [1] finden sich weitere Informationen, als auch der Download selbst.

[1] Microsoft .NET Framework 3.0 - July 2006 CTP

  1 Kommentar - 123 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Das 1x1 der Informatik für .NET Entwickler

10.07.06 - Base Framework
Beitrag von Norbert Eder
 Das .NET Framework mit seinen vielfältigen Namensräumen erleichtert dem Entwickler in vielen Situationen das Leben. Verschiedene vordefinierte Klassen erlauben beispielsweise das Suchen in großen Datenmengen oder ein automatisches Sortieren. Allerdings gibt es auch noch viele Problemstellungen, die das .NET Framework nicht erfasst. Hier muss man als Entwickler Hand anlegen und sich selbst überlegen, wie man weiter kommt. In dieser Webcast-Serie lernen Sie deshalb wichtige Standardalgorithmen und Datenstrukturen kennen, die jeder Programmierer im Repertoire haben sollte.

[1] Webcasts 1x1 der Informatik für .NET Entwickler

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Deploying unter .NET 3

05.07.06 - Base Framework
Beitrag von Norbert Eder
 Alles zum Thema Deployment unter .NET 3 findet sich wohl unter [1]. Wer also schon früh informiert sein will, der sollte sich diesen Link genauer ansehen.

[1] Deploying Microsoft .NET Framework Version 3

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


.NET Framework 3.0 - Part 2

13.06.06 - Base Framework
Beitrag von Norbert Eder
 Und natürlich gibt es dazu mittlerweile auch eine eigene Website, die unter [1] zu erreichen ist. Darauf sollte ansich alles zu finden, was man so für den Anfang benötigt, egal ob WCP, WPF etc.

Wer die aktuelle WinFX Runtime ziehen möchte, kann dies unter [2] tun.

[1] Link .NET Framework 3.0
[2]
Download Microsoft Pre-Release Software WinFX Runtime Components - Beta2

  1 Kommentar - 141 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


MSDN Wiki online

13.06.06 - Base Framework
Beitrag von Norbert Eder
 Für .NET Interessierte durchaus empfehlenswert ist das MSDN Wiki [1]. Quasi die MSDN unter Mithilfe der Community.

[1] Link MSDN Wiki

  Kommentar hinzufügen - 2 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Windows Vista und das .NET Framework - Welche Version?

10.06.06 - Base Framework
Beitrag von Norbert Eder
 In unserem Unternehmen, als auch in vielen anderen Unternehmen, als auch Foren, kehrt immer wieder die Frage in die allgemeine Runde ein, welche .NET Version denn nun standardmäßig mit Windows Vista ausgeliefert wird.

Nun, hier die Antwort: .NET 3.0

Verschrieben? Nein. Ich wiederhole: .NET 3.0

Was wird in .NET 3.0 neu sein? Nun, so wie es aussieht, handelt es sich dabei um eine Zusammenführung von WinFX und .NET 2.0. Weitere Entwicklungen des Basisframeworks wird es also vermutlich erst 2007 geben.

via Albert

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


C# Beginner: Enumeratoren vs Flags

09.06.06 - .NET, Base Framework
Beitrag von Norbert Eder
 Enumeratoren sind ja den meisten C# Entwicklern durchaus bekannt. Flags allerdings werden nicht sehr oft eingesetzt. Diese Erfahrung habe ich in diversen Foren gemacht und daher möchte ich dazu ein paar Worte verlieren.

Enumeratoren
Ein Enumerator kann bestimmte vordefinierte Werte enthalten und ist vor allem für Aufzählungen sehr praktisch. Ein Beispiel wäre hierfür der Color-Enumerator. Dieser ermöglicht das einfache Auswählen von Farbwerten. Ein eigenes Beispiel würde wie folgt aussehen:

public enum TestEnum
{
EnumValue0 = 0,
EnumValue1 = 1
}

Für einzelne Items kann hier ein bestimmter Wert definiert werden, muss jedoch nicht. Standardmäßig repräsentiert ein Enumerator einen Int32-Value und beginnt bei 0, ausser anders definiert. Eine Zuweisung sieht beispielsweise wie folgt aus:

private TestEnum testEnum = TestEnum.EnumValue0;

Zu beachten ist, dass testEnum immer nur einen Wert enthalten kann. Dies führt uns nun zur Frage: "Was tun, wenn ich jedoch mehrere Werte speichern möchte?". Ganz einfach:

Flags
Flags können mehrere Werte enthalten. Zuerst jedoch ein Beispiel für die Definition eines Flags:

[Flags]
public enum TestFlag
{
FlagValue1 = 1,
FlagValue2 = 2,
FlagValue4 = 4,
FlagValue8 = 8,
FlagValue16 = 16
}

Im Grunde handelt es sich hierbei um einen Enumerator, dem zusätzlich das Attribut [Flags] verpasst wird. Zusätzlich sind die einzelnen Werte entsprechend des Dualsystems (1,2,4,8,16,32,...) anzugeben, da diese bei Mehrfachauswahl durch ein logisches Oder verknüpft werden.

TestFlag testf = TestFlag.FlagValue1;
testf := TestFlag.FlagValue2;

In diesem Fall hat testf den Wert 3. Dieser repräsentiert FlagValue1 und FlagValue2. Durch ein

testf -= TestFlag.FlagValue1;

reduziert sich der Wert auf 2, wodurch auch nur mehr dieses Flag gesetzt ist. Abfragen können nun folgendermaßen gemacht werden:

if ( (testf & TestFlag.FlagValue1) > 0) {}

Trifft diese Bedingung zu, ist das Flag gesetzt, andernfalls würde das Ergebnis 0 sein und die Bedingung würde folgerichtig nicht zutreffen.

if ( (testf & TestFlag.FlagValue1) == 0) {}

Auf diese Weise kann festgestellt werden, ob ein bestimmtes Flag nicht gesetzt ist. Trifft die Bedingung zu ist es nicht gesetzt, andernfalls schon.

Fazit
Dies sollte einen kurzen Einblick in die Welt der Enumeratoren und Flags bieten. Flags bieten in vielen Fällen eine einfache Lösung für Mehrfachauswahlen und können auch entsprechend in UserControls abgebildet werden, um dem User eine vereinfachte Darstellung zu bieten.

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL



Zurück Weiter