Wir haben 70 Projekte in unserer Solution, Projekte sind mit dem TFS noch nie verschwunden, weder mit 2008, noch mit 2010.
Allerdings hatten wir sehr oft Probleme mit den "Solution Foldern" (die stellen ja kein echtes Verzeichnis dar). Aus diesen sind öfter mal einzelne Dateien verschwunden - aber auch nur aus der Solution selber, nicht aus dem Verzeichnis in dem sie tatsächlich liegen.
Wir verzichten inzwischen größtenteils auf die Solution Folder und haben ein einfaches Dummy Projekt, das nicht mitgebuildet wird. Dieses Projekt enthält die Dateien in der gleichen Struktur wie vorher die Solution Folder... seither keine Probleme mehr.
Hab schon mehrmals mit DotNetZip gearbeitet und gute Erfahrungen damit.
Was will ein Franzose mit einer Städteliste inkl. Bundesländern etc. auf Deutsch?
Deswegen gibt es diese Zuordnung zu einem bestimmten Land.
Was er als Franzose mit deutschen Texten will, ist ja seine Sache. Vielleicht hat er deutsche Kunden und will bei Adressen nicht französische/englische Namen für die deutsche Stadt hernehmen. Es ist ja definitiv so, dass es englische Übersetzungen gibt, zB "Munich" für "München"
Über den Ableitungsmechanismus kann auf internationalen Tabellen aber aufgesetzt werden.
Wenn das wiederum heisst, dass "GermanChemicalElements" von "ChemicalElements" abgeleitet ist und zB deutsche Bezeichnungen einführt, find ich das ein ziemlich cooles Feature 😃
Find ich grundsätzlich eine super Idee! Auf solche Probleme stößt man ja immer wieder.
Was mich ein bisschen stutzig mache ist der Unterschliedliche Datensource für unterschiedliche Sprachen, bzw Länder (zB chemische Elemente oder Postleitzahlen).
Ursache:
Der XmlSerializer serialisiert bei Klassen die von IEnumerable<T> erben nur die Entries.
Lösung:
Mach eine Klasse, welche die Liste, sowie die zusätzlichen Properties enthält und serialisiere eine Instanz dieser Klasse.
Tipp:
Erbe nicht von List<T> sondern besser von Collection<T>.
ich hab 8GB im Firmen PC - das ist zugegebenermassen etwas mehr als der Standard Benutzer hat - nämlich 8000x so viel wie dein Programm braucht... und du machst dir Sorgen um 100k die der Compiler sparen könnte?
Oh, mit der Klasse und 30 konstanten Strings hab ich kein Problem.
Aber mit der Code doku...
/// <summary>
/// M
/// </summary>
Zumindest der Name der Konstanten könnte auch sprechender sein.
leider kein Witz:
public static class AttributeNames
{
// gekürzt, ca 30 string Konstante, zb:
/// <summary>
/// Currency
/// </summary>
public const string Currency = "Currency";
// und dann:
/// <summary>
/// M
/// </summary>
public const string M = "M";
// was ist das? Boss von James Bond?
}
Wir machens für unsere Software so, wie Hotte es beschreibt.
Drei Kunden mit jeweils einer kundenspezifischen Culture und Resourcen. Klappt einwandfrei.
Deine IsEmpty() Implementierung macht genau das Gegenteil der .Any() aus System.Linq... Alternativ könntest du einfach
if (!collection.Any()) aufrufen...