Browse by Tags
All Tags »
Tipps (
RSS)
Nebenbei habe ich letztens Office 2010 installiert. Als ich dann wieder einmal Visual Studio 2008 benutzte, blieb die Anwendung im ASPX-Editor komplett hängen. Es musste der Prozess abgeschossen werden, um VS überhaupt beenden zu können. Mein Verdacht lag zuerst bei Resharper, was sich dann aber als falsch herausgestellt hat. Bei mir hat die Lösung mit dem Reparieren von den "Web Authoring Components" geholfen: http://blogs.msdn.com/b/webdevtools/archive/2010/04/19/upgrade-or-uninstall-of-office-2007-might-cause-vs-2008-web-designer-to-hang.aspx Read More...
Stellt euch vor, ihr habt zwei Assemblies: MyProject.Core MyProject.Core.Tests Im Core-Projekt gibt es Typen, die nicht öffentlich gemacht werden sollten, allerdings für die UnitTests zugänglich sein sollen. Nun, das ist ein kleines Problem, wenn man das Attribut “InternalsVisibleTo” kennt, mithilfe folgender Dekleration in der AssemblyInfo.cs des MyProject.Core-Projekts kann dies einfach erledigt werden: [assembly: InternalsVisibleTo("MyProject.Core.Tests”)] Das macht sogar sehr viel Sinn, denn sonst können Kollisionen und Verwechslungen der Extensionmethods beim Endbenutzer vorkommen. Soweit, so gut. Die Typen der MyProject.Core-Assembly sind jetzt in der MyProject.Core.Tests-Assembly sichtbar. Müssen die Projekte jedoch signiert sein...
Wenn eine ASPX- / ASCX-Datei ausserhalb vom Visual Studio Editor geändert wird, bekommt das der Designer nicht mit. Das Updaten der <Dateiname>.<Erweiterung>.designer.cs geschieht nicht sehr häufig und nur bei bestimmten Fällen. So kann es gut sehr gut sein, dass folgende Fehlermeldung beim Kompilieren erscheint: The name ‘ControlXYZ’ does not exists in the current context bzw. Der Name ControlXYZ ist im aktuellen Kontext nicht vorhanden Um die Neugenerierung der Designer-Datei zu erzwingen , kann die ASPX- / ASCX- Datei im Designer geöffnet werden, oder eine Eigenschaft hinzugefügt / geändert werden. Mehr Details zu diesem Verhalten gibt es in folgendem Posting: Forcing regeneration of the designer.cs file Read More...
Mit LINQ sind unzählige Erweiterungsmethoden für IEnumerable<T> hinzugekommen, die auch ausserhalb von LINQ Abfragen sehr nützlich sein können. Damit ich mir das merke und ihr evt. noch was neues kennenlernt, möchte ich zwei kurz vorstellen: Enumerable.Any() Kommt euch Code wie der folgende bekannt vor? if (addresses.Count > 0) { // … } oder if (addresses.Count == 0) { // … } Das kann jetzt folgendermassen umgeschrieben werden: if (addresses.Any()) { // … } und if (!addresses.Any()) { // … } Die Implementation der Any()-Methode holt sich den Enumerator der Auflistung und versucht den ersten Eintrag zu holen, wenn das klappt gibt sie true zurück, ansonsten false. Wenn Any() true zurückliefert, heisst das also, es ist mindestens ein Element...
Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Golo? Ja, Bucher! angekündigt, jeweils zum ersten eines jeden Monats einen Kommentar zu einem vorab gemeinsam gewählten Thema verfassen zu wollen. Bisher sind in dieser Reihe folgende Kommentare erschienen: 1. August 2009: C# oder VB: Welche Sprache soll ich lernen? 1. Juli 2009: Primärschlüssel: GUID vs Identity 1. Juni 2009: Heißt die Zukunft RIA? 1. Mai 2009: Woran erkennt man einen guten Entwickler? 1. April 2009: Interfaces vs abstrakte Klassen 1. März 2009: Sinn und Zweck von AOP 1. Februar 2009: Die Forderung nach Softwarequalität 1. Januar 2009: SOA vs WOA 1. Dezember 2008: Dynamic Language Runtime: .NET, quo vadis? Heute, am 1. September 2009, ist es nun wieder...
Es gibt den Short-Cut CTRL-SHIFT-B um das die aktuelle Solution zu kompilieren. Ein Shortcut um das aktuell selektierte Projekt zu kompilieren gibt es standardmässig leider nicht, das lässt sich aber leicht ändern und ist super praktisch. Tools –> Options –> Keyboard –> Build.BuildSelection auswählen und einen Shortcut vergeben. Nicht vergessen den Shortcut per “Assign” oder “Zuweisen” auch wirklich zuzuweisen. Wenn der Shortcut im Menü angezeigt wird, funktioniert er auch. Ein Neustart von Visual Studio ist nicht nötig. Mehr zu Shortcuts gibts ausserdem in einem älteren Blogpost: Mausfrei für eine Woche, oder: Home, End und Konsorten Read More...
Wenn ein Backup von einer SqlServer-Datenbank zurückgespielt wird kann es sein, das anschliessend für die vorher berechtigten Benutzer das Login fehlschlägt. Im Sql Management Studio kann unter der Funktion "UserMapping" die Berechtigung im Normalfall wieder zugewiesen werden, jedoch kann es eben in diesem Fall zum Fehler 15023 kommen. Für mehr Details zu diesem Fehler siehe hier und hier , wie man den Fehler beheben kann findet sich in diesem und diesem Blogpost. Read More...
Auf MSDN ist eine neue Ausgabe vom PWA (Pragmatic Web Architecture) von Patrick A. Lorenz erschienen, das ASP.NET 3.5 fokusiert. Ich finde das Konzept gut gelungen und die vorherige Ausgabe der Webcast-Serie (Aus dem Jahre 2006) war sehr gut gemacht. Darum empfehlen ich allen die sich für eine pragmatische Architektur mit ASP.NET interessieren, da reinzuschauen. Zitat: Grundkonzept von PWA ist eine dem Projekt angepasste, flexibel erweiterbare Architektur für Web-Applikation. Seit über sechs Jahren kommt PWA nicht nur bei der PGK sondern auch vielen anderen Unternehmen erfolgreich zum Einsatz. Bereits 2006 wurde das Konzept mit einer umfangreichen Webcast-Serie, Artikeln und Vorträgen vorgestellt. Mit .NET hat sich auch PWA über zeit verändert...
Beim dritten Treffen vom .NET Stammtisch Konstanz - Kreuzlingen habe ich einen Vortrag über LINQ gehalten. Dabei wollte ich zeigen wie aus dem SQL ähnlichen Syntax von LINQ aneinandergereihte Methoden Aufrufe werden und aus den Lambda Ausdrücken jeweils anonyme Methoden. Das geht über den Reflector auch wunderbar. Kurz vor dem Vortrag habe ich den Fehler begangen und Windows 7 installiert… nicht das Windows 7 der Fehler gewesen wäre, sondern die Neuinstallation. So hatte ich vieles noch nicht 100% so wie es war und ausserdem war plötzlich die neuste Version vom Reflector installiert. Als ich während dem Vortrag den Code demonstrieren wollte, bekamen wir natürlich nur wunderschöne Lambda-Ausdrücke zu sehen, keine anonymen Methoden. Ich wusste...
Ich stand gerade vor der Aufgabe, die UserTimeline eines Twitter Accounts auf einer ASP.NET MVC Masterpage anzuzeigen. Dabei muss die Masterpage irgendwie an die Daten kommen, die sie anzeigen will. Eine naive Suche bringt mich mit dem ersten Ergebnis sofort ans Ziel: http://www.google.com/search?oe=utf8&ie=utf8&source=uds&start=0&hl=de&q=asp.net+mvc+master+%2Bshow+data => Passing Data to View Master Pages Dort stellen sie zwei Möglichkeiten vor. Bei der ersten wird vorgeschlagen im Konstruktor jedes Controllers die benötigten Daten in das ViewData-Dictionary zu übergeben. Das wird natürlich mühsam und bei einer Änderung können alle Controller angefasst werden. Die zweite Möglichkeit schlägt einen abstrakten Basiscontroller...
More Posts
Next page »