"Was lernen?",

fragt Ralph Westphal in seinem sehr lesenswerten Post : "Die Aschenputtel-Strategie - Ein 80:20-Kriterium für neue Technologien und Konzepte".)

Unsere Antwort auf "Was lernen?" - "Kontinuierlich, alles was begeistert, " :-)

chaos-books

[quelle]

Lernen und Entwicklung ist bei uns einfach Teil der Arbeit. Ca 20% widmen wir der Optimierung unserer Arbeits- und Vorgehensweisen. Verbessert wird was am meisten drückt oder vielleicht einfach nur Spaß macht ist.

Neues können auch unbekannte Design Patterns sein oder eine alternative Projektstrutktur, ein neues Werkzeug oder das Einrichten von Mailinglisten für Projekte - alles was hilft!

Bei uns gerade spannend:

  • automatische Deployment für Endbenutzer (per NANT)
  • Continous Integration (zum Teil damit Verbunden)
  • Code generation (immer wieder :-)
  • bessere utility und Basisklassen

Davor war es IoC, davor ORM, davor MVC (was wir dann auch wieder verworfen haben), davor Design Patterns und Unit Testing, davor ...

... und die Auswahl der Themen ist hoffentlich immer pragmatisch, da nur laufenden Software glücklich macht, hat aber auch deswegen viel mit Geschmack und Vorlieben zu tun. Einen Kernteil der Strategie könnte man so zusammenfassen: Wir lassen uns davon leiten was uns begeistert und gehen davon aus, das das was uns begeistert und auch das Beste für unsere Kunden ist.

Es ist großer Luxus nur das zu machen was Spaß macht oder es ist großartig daran Spaß zu haben was wir machen müssen, ..., ich freue mich jedenfalls auf das arbeiten mit nDepend, Boo, auf CodeGeneration, c# 4., die erste eigene LINQ enabled API zu schreiben und soviel mehr :-)

Anwendungs-Entwicklung rockt!


ASP.NET Debugging und .NET Debugging

um vernünftig debuggen zu können, ist es nötig das Exception in Visual Studio, unter "Debug"->"Exceptions" "Common Language Runtime Exception" zu aktivieren. Ist jedoch "Enable Just My Code" (unter "Tools"->"Options" und dann im Bereich Debugging) nicht angewählt...

enable just my code 

... dann fehlt im Exeptions Windows ...

exceptions-dialog 

... die "User-unhandeld" Spalte.

exceptions-dialog 2 

etwas unerklärlich, aber per Default war bei uns (Oliver und mir) anscheinend

  • "Thrown" für Common Language Runtime Exceptions nicht ausgewählt
  • Nachdem "Thrown" expliziet aktiviert wurde, sprang der Debugger in alle Exceptions auch "User handled" Exceptions. Also auch in evil "Try Catch" Blöcke.

Die Lösung ist es nun "Enable Just My Code" zu aktivieren:

enable just my code checked

Vielleicht hilft es :-)


NHibernate.MappingException: Association references unmapped class

Gestern Abend kamen die CustomLinks dazu: neue Klasse, neue DB-Tabelle, neues Mapping. NHibernate-Mappings kopiere ich immer und passe sie dann an. Alles lief super.

Die Tests liefen super.

Heute morgen fiel mir auf, dass meine Klasse ja noch ein Type-Feld braucht. Ok, kein Ding.

Feld hinzugefügt, Zeile im Mapping-File hinzugefügt, Eigenschaft in den Tests gesetzt (not-null hatte ich auf "true") und los.

Und dann bekam ich obige Exception: NHibernate.MappingException: Association references unmapped class: CustomLink.

Kann ja nicht sein!

Hin und her probiert, schließlich das Orakel gefragt und siehe da: Man muss in den Properties des Mapping-Files die Build Action auf Embedded Resource setzen. Das war noch nicht der Fall. Danach klappte es.

Nur warum hat es gestern funktioniert?!