Kategoriearchive: Development

Windows Server 2008 R2 RDP Connection Error (SP1, KB2667402)

windows-server-2008-logo

Hi all,

last night I ran into a very strange issue with connecting to a Windows Server 2008 R2 system using RDP. When opening the connection to the host, the remote display opened, showed, that the user is going to be logged in and straight afterwards the connection crashed and RDC client stated, that the connection has been terminated. No error detail, just an error window like when the server isn’t reachable at all.

What did I do?
Just before having issues with RDP connection (by the way: all other services ran fine on the machine, especially web and database services) I installed Service Pack 1 for Windows Server 2008. And that was my fault!

What happend?
Microsoft has released a security fix on 2012-03-12 with the ID KB2667402 which is fixing a critical issue with remote desktop connection service. This update needs to be applied as soon as possible, because it enabled attackers to take control of your server using manipulated RDP packets. So installing the update is a MUST-DO of course. But when installing the optional update “Service Pack 1″ afterwards, your RDP connection will go lost. That’s a very nice feature, Microsoft built in its update routine, because everybody who is using hosting provides without direct access to the machines will run into a major problem: You cannot reach your server for remote administration anymore.

What to do about that?
First of all, be sure to install Service Pack 1 before installing hotfix KB2667402! If you do that, you will not encounter any problems with RDP. If you fall into the same trap like I did (installing SP1 afterwards), you need to get direct access to your machine (e.g. ask your provider for KVM access like LARA). Uninstalling the update KB2667402 and installing it afterwards will make your server be reachable by RDP again and having closed the security issue by the hotfix.

The problem is encountered by the file rdpcorekmts.dll in Windows’ system32 folder. Having installed KB2667402 before SP1 means, SP1 will replace the fixed file with an older version which is causing problems with error messages like svchost.exe_TermService crashed (you may notice them in the event log). Reinstallation of hotfix KB2667402 is updating that file again to the newest version, so RDP will go live.
Your current file version for rdpcorekmts.dll should be 6.1.7601.17767, then you are fine.

I have to thank several pages and dicussion threads for providing the correct solution after all:
http://social.technet.microsoft.com/Forums/en-US/winservergen/thread/f5855b60-f29c-4c90-b364-e364589e5267
http://social.technet.microsoft.com/Forums/en-US/winserverNIS/thread/f5df40ed-b1df-48ca-8a78-2de1c4373b28
http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=1bbe7cda-4bee-4d65-8127-3c13624a1168

Good luck with your server.

GD Star Rating
loading...

Ähnliche Einträge:

Backupautomatisierung auf Windows Servern – MS SQL Server Sicherung

sql_server_2008_logo_ok-300x150

Dieser Artikel ist Teil einer Serie:

  1. Einleitung
  2. Dateisicherung
  3. MS SQL Server Sicherung
  4. MySQL Sicherung
  5. Backup Komprimierung
  6. Backup-Transfer
  7. Zeitsteuerung

Nachdem wir es nun geschafft haben, zu sichernde Dateien an einem Ort abzulegen, in dem sie nicht in Verwendung sind (und wir damit weitere Schritte unternehmen können), wird es Zeit, die Sicherung um Datenbanken zu ergänzen, die sich häufig auf Serversystemen finden. Es gibt verschiedenste Datenbanksysteme, die alle ihre eigenen Sicherungsoptionen bieten (jedenfalls im Normalfall). Diese Artikelserie geht auf zwei solcher Systeme ein, die sich wohl am Häufigsten auf Serversystem wiederfinden werden: Microsofts SQL Server sowie das Open-Source-System MySQL. Die Vorgehensweise für andere Datenbanksysteme dürfte ziemlich analog dazu verlaufen, die speziellen Scripte wird man an die Möglichkeiten des jeweiligen Datenbanksystems anpassen müssen.

Um den Prozess der Sicherung einer oder mehrere MS SQL Server Datenbanken zu vereinfachen, ist es hilfreich, den ausführenden Backup-Benutzer in einer Gruppe zu haben, die auf die zu sichernden Datenbanken Backup-Rechte besitzt. Das macht die Scripte im Endeffekt kürzer, es ginge aber auch anders bspw. mit einem speziellen SQL Server Nutzer und dem Datenbankserver im “Gemischten Authentifizierungsmodus”. Das gescriptete Backup wird im Wesentlichen aus zwei Dateien bestehen: Einem SQL Script, das die notwendigen Kommandos auf Datenbankserverseite enthält sowie einem Batch-Script, dass die Ausführung des SQL Scripts am Datenbankserver reguliert.

Die Sicherung einer Datenbank per SQL Kommando ist kurz und bündig notiert. Dabei muss im Endeffekt nur ein Dateiname vorgesehen sein sowie der Name der zu sichernden Datenbank. Das folgende Script deklariert zunächst eine String-Variable, in der später der Dateiname stehen wird. Das ist hilfreich, wenn man mit dem zu schreibenden SQL Script mehr als eine Datenbank sichern will.

declare @file nvarchar(255)

SELECT @file = N'{TARGETPATH}' + REPLACE(convert(varchar,GEtDate(),102),'.','_') +  N'_{FILENAME}.bak'
BACKUP DATABASE [{DATABASENAME}] TO DISK = @file WITH INIT

In dem Script befinden sich ein paar Platzhalter, die ich in geschweifte Klammern gesetzt habe, diese müsstet ihr durch eure eigenen speziellen Werte ersetzen:

  • {TARGETPATH} – der Pfad wohin die Sicherung erfolgen soll
  • {FILENAME} – Dateiname der Sicherungdatei
  • {DATABASENAME} – der Name der zu sichernden Datenbank

Will man nun mehrere Datenbanken des gleichen Servers bzw. der gleichen Instanz sichern, muss man lediglich die Zeilen 3+4 des Scripts duplizieren und die Platzhalter entsprechend ersetzen. Eine kleine Anmerkung für die schnell drüberlesenden: Der endgültige Dateiname der Sicherung wird das Datum der Sicherung im Format JJJJ_MM_TT vor dem gewählten Dateinamen enthalten. So können mit Hilfe des Scripts mehrere Sicherungen für verschiedene Tage erzeugt werden, ohne dass diese überschrieben werden.

Nun fehlt nur noch das Batch-Script, welches die Ausführung der eben gescripteten SQL Kommandos übernimmt.

sqlcmd.exe -S {SERVER/INSTANCE} -E -b -i {BACKUPSCRIPT}.sql -o {LOGFILENAME}.log

forfiles /p "{TARGETPATH}" /m *.bak /c "cmd /c if @isdir==FALSE echo del @file & del @file" /d -8

Auch hier gibt es wieder den einen oder anderen Platzhalter im Script, die an eure Maschine angepasst werden müssten:

  •  {TARGETPATH} – der Pfad wohin die Sicherung erfolgen soll (siehe oben)
  • {SERVER/INSTANCE} – der Server und seine Adressierung bspw. 127.0.0.1\SQLEXPRESS
  • {BACKUPSCRIPT} – der Dateiname des SQL Scripts von oben
  • {LOGFILENAME} – Dateiname der zu schreibenden Logdatei

Während das erste Kommando des Batch-Scripts noch einleuchtend erscheinen dürfte, ist die nachfolgende Zeile nicht unbedingt bekannt. Diese Zeile sorgt im Endeffekt dafür, dass nur Sicherungsdateien unserer MS SQL Datenbanksicherung behalten werden, die nicht älter als 7 Tage sind. Sehr hilfreich, um im Backupverzeichnis keinen Wildwuchs zu produzieren.

Damit ist die Sicherung von Microsoft SQL Server Datenbanken gescriptet. Der nächste Teil wird sich mit der Sicherung von MySQL Datenbanken beschäftigen.

GD Star Rating
loading...

Ähnliche Einträge:

Backupautomatisierung auf Windows Servern – Dateisicherung

windows-server-2008-logo

Dieser Artikel ist Teil einer Serie:

  1. Einleitung
  2. Dateisicherung
  3. MS SQL Server Sicherung
  4. MySQL Sicherung
  5. Backup Komprimierung
  6. Backup-Transfer
  7. Zeitsteuerung

Wenn man über Sicherungen nachdenkt, kommt einem als erstes vermutlich der Haufen an Dateien in den Sinn, die auf einer Maschine herumliegen und die unterschiedlichsten Aufgaben ausführen. Ob es sich um bspw. WordPress-Installationen handelt mit vielen hochgeladenen Dateien durch Redakteure oder Dienstprogramme, die Logdateien schreiben, wie sie gerade lustig sind, all das möchte gern gesichert werden.

Für die Sicherung von Dateien zunächst einmal auf dem Server selbst verwende ich ein Werkzeug namens SyncToy. Dieses Tool ist von Microsoft selbst entwickelt und steht unter der URL http://www.microsoft.com/download/en/details.aspx?id=15155 als kostenloser Download in den Varianten für 32bit und 64bit Systeme zur Verfügung. Aufgabe dieses kleinen Helferleins ist es nachher Ordnerpaare zu synchronisieren, wobei wir bei der Backupkonfiguration keine echte Synchronisation sondern ein (so heißt es im SyncToy) “Echo” brauchen. Doch wie funktioniert dieses kleine Ding?

Wenn man SyncToy startet, erhält man eine recht schlichte Programmoberfläche. Die wichtigsten Funktionen sind darauf wiederzufinden, nämlich die Verwaltung von Ordnerpaaren, von denen es praktisch beliebig viele geben kann sowie die Möglichkeit, Synchronisationsvorgänge als Vorschau auszuführen oder gleich richtig zu starten.

Von hier aus lassen sich nun zunächst Ordnerpaare anlegen. Zu empfehlen ist hier immer auf der linken Seite immer den Originalordner zu selektieren und für die rechte Seite das Zielverzeichnis, das im Endeffekt das Backup darstellt. Im zweiten Schritt wird die Art der Synchronisation festgelegt. Wie erwähnt, wäre die optimale Auswahl hierfür “Echo”. In diesem Szenario wird im Prinzip eine Spiegelung des linken Ordners in den rechten Ordner erzeugt. Das bedeutet, dass auf der rechten Seite Dateien gelöscht werden, die sich links nicht befinden. Das ist für eine aktuelle Sicherung auch in Ordnung und so gewollt. Wenn Dateien verloren gehen und fehlen, müssen diese eben aus älteren Backups wiederhergestellt werden. Das sollte aber auch frühzeitig bemerkt werden. Der letzte Schritt ist die Vergabe eines Namens für die Paarung.

    

Die Konfiguration wird benutzerspezifisch gespeichert. Sprich, man sollte diese Konfiguration unter dem Windows-Account machen, der später auch die Backupausführung erledigen wird (das passiert dann zwar automatisch, aber ein verantwortlicher User wird trotzdem hinterlegt). Wenn man will, kann man die Ausführung der Synchronisation durch Klick auf den “Run”-Button ausprobieren. Der Witz an dem Tool ist, dass es die Spiegelung nicht jedes Mal neu erstellt, sondern nach einer erstmaligen Vollausführung nur noch Dateien spiegelt, die sich auch tatsächlich verändert haben oder die in unserer Konfiguration gelöscht wurden.

Der letzte Schritt ist schließlich die Automatisierung dieses Vorgangs. Dies kann durch eine Batch-Datei erreicht werden, die später automatisch aufgerufen wird. Hier müssen wir nur noch das SyncToy aufrufen und ihm mitteilen, dass es bitte die Synchronisation vornehmen soll. Je nach Installationspfad des Tools ergibt sich dafür folgendes Kommando:

"C:\Program Files\SyncToy 2.1\SyncToyCmd.exe" -R

Im nächsten Teil dieser Reihe werde ich mich mit der Sicherung von Microsoft SQL Server Datenbanken befassen.

GD Star Rating
loading...

Ähnliche Einträge:

Backupautomatisierung auf Windows Servern

windows-server-2008-logo

Dieser Artikel ist Teil einer Serie:

  1. Einleitung
  2. Dateisicherung
  3. MS SQL Server Sicherung
  4. MySQL Sicherung
  5. Backup Komprimierung
  6. Backup-Transfer
  7. Zeitsteuerung

Das vermutlich leidigste Problem beim Hosten von Servern und Diensten darauf ist das Erstellen eines funktionierenden Backup Verfahrens. Auch ich schlage mich damit seit einer halben Ewigkeit herum, habe jedoch nun eine für mich hervorragend funktionierende Variante ausgearbeitet und möchte andere Interessierte daran teilhaben lassen. Alle Leser, die selbst auf Linux-Maschinen hosten und gerade die Hände über den Kopf zusammen schlagen: Ja, es gibt auch Windows Server da draußen und die möchten auch gesichert werden. Guckt nicht so komisch! :-P

Wie dem Titel zu entnehmen ist, geht es in diesem Artikel um die Sicherung von Windows Servern. Ich gehe hier einfach mal davon aus, dass ihr nicht mehr mit Windows NT oder Windows 2000 herum lauft, sondern wenigstens Windows Server 2003 oder Windows Server 2008 am Start habt. Das vorliegende “Tutorial” läuft übrigens auf Windows Server 2008, sollte aber problemlos auf die 2003er Version angewendet werden können. Welche Edition ihr im Einsatz habt, spielt dabei keine Rolle, der kleine Web Server ist voll qualifiziert.

Bevor jetzt wieder der große Aufschrei kommt und die Anti-Windows-Fraktion in großes Gelächter ausbricht, weil sie der Meinung ist, Windows hätte nicht mal ein vernünftiges Sicherungsprogramm: Ihr irrt gewaltig. Tatsächlich bringt der Windows Server ein eigenes Sicherungstool mit, welches sich “Windows Server-Sicherung” nennt und in der Systemsteuerung unter den Verwaltungswerkzeugen zu finden ist.

Für die ganz schnellen unter euch ist dieses Werkzeug durchaus ans Herz zu legen, vorausgesetzt, ihr verfügt entweder über eine ausreichend dimensionierte zusätzliche Festplatte im zu sichernden Serversystem selbst oder eine Netzwerkfreigabe, die ihr als Backup-Speicherplatz benutzen könnt. Dann ist die Windows Server-Sicherung ein tolles Werkzeug für euch. Die Sicherung kann über den GUI Assistenten konfiguriert werden, umfangreiche Zeitplanoptionen und die Auwahlmöglichkeit zwischen einer vollständigen Systemsicherung oder nur einzelner Verzeichnisse bspw. ist möglich. Das Werkzeug versteht selbstverständlich auch den Unterschied zwischen Vollsicherungen und inkrementellen Backups. Mir ist der Luxus einer extra Festplatte auf einem betroffenen Server leider nicht gegeben und so ist die Windows Server-Sicherung für mich leider keine Option. Zudem ist es ratsam, ein Backup auch örtlich getrennt vorzuhalten, das heißt, möglichst nicht auf der gleichen Maschine. Und da fangen dann die “Probleme” an.

In den folgenden Teilen der Artikelreihe werde ich verschiedene Aspekte beleuchten, die zum Teil meiner Backupstrategie gehören. Dazu zählen die Dateisicherung, Datenbankserver-Sicherung, die Komprimierung der Backups und der Transfer auf externe Speicherplätze. Selbstverständlich darf auch die Zeitsteuerung nicht fehlen.

 

GD Star Rating
loading...

Ähnliche Einträge:

Entity Framework – Unable to update the EntitySet … because it has a DefiningQuery …

Running into very special issues with some kind of new programming techniques is … well, just that: special. I had one of those very special issues some minutes ago and had to learn some more detailed facts about the Entity Framework in .NET.

The situation:
I’m working with a data model created using the import function of Visual Studios Entity Framework model designer. The database model is physically created directly in the database using database management tools and the model in Visual Studio is just being updated. Everything seems to be okay for me after having added two new tables to the database structure, but I should have looked at the output window, which was stating “Das Modell wurde mit Warnungen oder Fehlern generiert.” (should be something like “The model has been generated with warnings or errors”, idk the concrete message in English, sorry). Did not recognize that, so I worked on implementing the usage of my new tables.

The issue:
When using the new tables I ran into a runtime exception (System.Data.UpdateException) stating the following error message: “Unable to update the EntitySet ‘[NameOfTheEntitySet]’ because it has a DefiningQuery and no element exists in the element to support the current operation.”
Okay, mh, I never saw that message before, so it becomes strange and special at the same time for me.

The reason / solution:
There has been another warning after importing the database structure into the data model which was stating the reason for my error: In one of the tables I forgot to set a primary key constraint, so the Entity Framework imported the database, generated a key combination on its own and made the table kind of readonly. This is why I was not able to do insert, update or delete queries on the table. Very important: You will receive that message too, if you are trying to state change queries on views in your model.
The solution was very simple. Adding the primary key constraint to the structure, reimport into the model and everything worked fine. You should note, that the Entity Framework will not remove its automatically created key combination with your new primary key constraint, so you have to do that in your model on your own.

GD Star Rating
loading...

Ähnliche Einträge:

Ignoring SSL Certificate errors programmatically

Sometimes you will encounter the issue, that you are trying to access a web based application (web site, web service, idk and it doesn’t matter) which is sitting behind a SSL secured connection. Because SSL certificates singed by globally and systemwide accepted players are a bit expensive, it is not unusual to create such certificates on your own, which is indeed safe too, but the computer systems all over the world aren’t able to recognize that, because they don’t know you as a certificate creator. This will cause people accessing your SSL secured content to see warnings in browsers, that there seems to be a problem with the SSL certificate. If you are accessing such content manually using a browser, you are able to just click “accept that shit anyway” and your browsers moves you directly to the content.

Using .NET the situation is a bit harder. Normally, when you are trying to access contents using HTTPS (e.g. SSL) connections and there is at least one problem with the connection or the certificate, your web request will fail and raise a System.Net.WebException with an inner exception pointing to the root problem. So you have to find a way, to ignore incorrect SSL certificates for your requests programmatically and in fact, this is of course possible. Just one hint: Don’t do that generally. Secured connections are of course important for security infrastructures, so you should be able to rely on what you use and get and of course what you send over such APIs. In fact, only do that ignoring for API servers you exactly know and where you know, that the certificates are okay, but not signed b Versisign or so.

First you need to include some namespaces, if you haven’t done that yet.

using System.Net.Security;
using System.Security.Cryptography.X509Certificates;

Custom validation is done in a callback function which is defined as the event handler for a special event (we will have a look at that soon). So you need that callback function:

// Callback used to validate the certificate in an SSL conversation
private bool ValidateRemoteCertificate(object sender, X509Certificate certificate, 
    X509Chain chain, SslPolicyErrors policyErrors)
{
    return IgnoreSslErrors || policyErrors == SslPolicyErrors.None;
}

I defined an attribute in my web access wrapper class called “IgnoreSslErrors” which is used in the callback funtion. If this is set to true, your invalid certificate will be ignored, otherwise the certificate needs to be valid. Do not change the signature of the method, because it will be used as an event handler.

In your block where you are creating the HttpWebRequest instance, just make the following definition:

ServicePointManager.ServerCertificateValidationCallback += 
    ValidateRemoteCertificate;

That’s it.

GD Star Rating
loading...

Ähnliche Einträge:

Pex4Fun: ChallengeArraySort Lösung

Ich bin vor einigen Tagen auf eine Seite gestoßen, an der Programmierer oder diejenigen, die es werden wollen, sicher ihren Spaß haben werden: www.pex4fun.com ! :-)

Aufgabe ist es, anhand eines Code-Rumpfes und der Möglichkeit den geschrieben Code auszuführen (zu testen) und mit den Ergebnissen des geheimen Codes zu vergleichen, den geheimen Code nachzuahmen bzw. dessen Funktion nachzubauen.

Eins meiner letztes Rätsel war folgendes:

using System;

public class Program {
    public static int[] Puzzle(int[] a) {
        // Can you write code that sorts the array?
        return a;
    }
}

Die Aufgabe ist klar. Wir sollen das Array sortieren. Okay. Wenn man sich die Lösung ansieht, dann muss man sich fragen, ob sich da vielleicht jemand einen Scherz erlauben will?!

using System;

public class Program {
    public static int[] Puzzle(int[] a) {
    
        // Can you write code that sorts the array?
        Array.Sort(a);

        return a;
    }
}
GD Star Rating
loading...

Ähnliche Einträge:

  • Keine ähnlichen Einträge.

Windows Phone 7 & OAuth 2.0 – Fourscore for Windows Phone ärgert sich über Foursquare API

Die Programmierung meiner ersten eigenen Windows Phone 7 App mit dem Namen Fourscore zwingt mich dazu, eine fremde API zu verwenden, welche auf OAuth 2.0 setzt. Bei OAuth ist es das erklärte Ziel, dass ein Benutzer, der einer App Zugriff auf seinen Account bei einem anderen Dienst wie bspw. Foursquare oder Twitter gewähren möchte, nicht mehr direkt in die App seine Logindaten eingeben muss. Statt dessen ist es erwünscht, dass die Apps oder Dienste, die sich an der API autorisieren wollen, an hand von ihnen zugewiesenen IDs und Schlüsseln auf den eigentlichen Dienst leiten. Dort gibt der Benutzer dann seine Logindaten ein, gestattet explizit der App den Zugriff und anschließend wird ein sogenannter Access Token erstellt, den die App erhält und abspeichern muss. Anhand dieses Tokens kann die App dann als vom Nutzer autorisiert bestimmte Dinge mit dessen Account anstellen oder eben nicht.

Wer das jetzt aufmerksam gelesen hat, wird festgestellt haben, dass dies einen gewissen Teil ganz normales Browsen darstellt. Sprich: Öffnen einer Website, lass den User da mal machen und irgendwann kriegen wir über eine Callback-URL den Token. Ja, alles schön und gut, aber was ist, wenn die App kein webbasierter Dienst ist wie bsp. Formspring oder BotPwn? Dann bedeutet der Browserzwang nämlich nur umständliches rumgesurfe und am Ende weiß die App immer noch nicht so recht, wie sie an den Access-Token kommen soll.

Foursquare erfordert zur Authentifizierung OAuth 2.0 und davon ist meine App Fourscore for Windows Phone direkt betroffen. Es gibt für Windows Phone 7 im Prinzip zwei Möglichkeiten, das Ansurfen einer URL zu erreichen. Man könnte einen sogenannten Phone-Task ausführen lassen, in diesem Fall einen WebBrowserTask. Dieser veranlasst Windows Phone 7 eine Instanz des Browsers zu öffnen und die gewünschte URL anzusurfen. Das bedeutet für die App in diesem Moment die Deaktivierung, sie wird eingeschläfert. Dass der Nutzer sich am gewünschten Dienst anmeldet und den Access Token zwischenzeitlich bekommen haben könnte, davon erfährt die App nichts. Man kann den User nicht einmal dazu auffordern, den Token zu kopieren und dann in ein Eingabefeld der App einzufügen, weil Windows Phone 7 derzeit nocht nicht über Copy&Paste verfügt. Schöne Scheiße.
Die andere Variante ist eine eigene Webbrowser-Instanz in der App zu verwenden, sozusagen als Steuerelement wie einen Button oder eine Textbox. Vorteil hier wäre, dass man sogar überwachen könnte, ob darin die Seite mit dem schließlich erzeugten Access Token zu sehen ist, könnte ihn automatisch auslesen und fertig. Nur leider… und das nervt wirklich… kann man sich mit diesem Control nicht bei Foursquare einloggen. Man bleibt einfach auf der Loginseite hängen. Gehts frustrierender?

Was bedeutet das im Endeffekt? Nun, Fourscore wird versuchen müssen, selbst eine Art Browser zu werden. Die ganzen Requests mit der OAuth-API von Foursquare müssen wir wohl selbst nachbauen. Leider funktioniert die HttpWebRequest-Klasse in Silverlight anders als im “normalen” .NET Framework. Ob sie im Endeffekt überhaupt all das kann, was für diesen Autorisierungsprozess notwendig ist, weiß ich noch gar nicht, werde ich aber heraus finden müssen. Nutzer werden als am Ende doch wieder ihren Benutzernamen und ihr Passwort in die App eingeben. OAuth ad absurdum geführt. Da könnte man sich das mit dem Access Token auch gleich sparen.

Noch dazu ist die Foursquare App einfach ständig mal nicht erreichbar und antwortet mit total schrägen 404 Fehlermeldungen. Ich glaubte, die offizielle Foursquare-App für Windows Phone sei einfach nur kaputt. Dabei ist es die ganze API. Na mal sehen, was das noch wird…

GD Star Rating
loading...

Ähnliche Einträge:

Visual Studio Productivity Power Tools jetzt mit “Enhanced Scrollbar”

Für das Microsoft Visual Studio gibt es ja hunderte von Erweiterungen. Eine wirklich sehr gute dieser Erweiterungen sind die “Productivity Power Tools”, die in der jetzt veröffentlichten Version ein Feature mitbringen, das ich in Visual Studio 2010 schon lange vermisst habe: die Enhanced Scrollbar.

Dieses Feature kann im sogenannten “Map Mode” eine Abbildung des Quellcodes einer Datei als Scrollbalken darstellen. Man sieht so immer auf einen Blick die grobe Struktur des Dokuments, eine Vorschaufunktion beim Mouseover unterstützt beim Auffinden bestimmter Quellcodezeilen über die Scrollbar, zudem werden farblich Markierungen angezeigt, z.B. die Position des Textcursors sowie inhaltlich zusammenhängende Strukturen bspw. “case”s in switch-Verzweigungen.

So könnte eine solche Scrollbar auch bei euch aussehen:

Herunterladen kann man die Erweiterung hier:

http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef/

Blogeintrag zum letzten Release der Erweiterung:

http://blogs.msdn.com/b/visualstudio/archive/2011/02/22/productivity-power-tools-introduces-find-organize-imports-for-vb-enhanced-scrollbar-middle-click-scrolling-and-more.aspx?utm_source=twitterfeed&utm_medium=twitter

GD Star Rating
loading...

Ähnliche Einträge:

Meine erste Windows Phone 7 App – Entwicklung gestartet

Wenn man etwas im Bereich der Softwareentwicklung ausprobieren möchte, steht man oftmals vor dem Problem, dass man nicht weiß, womit man es ausprobieren soll. Ein halbwegs sinnvolles Projekt sollte es halt schon sein. Und nun bin ich zwar schon seit drei Wochen registriert im Microsoft AppHub als Entwickler, kam jedoch noch nicht dazu, davon auch Gebrauch zu machen.

Eine besonders nervige App für Windows Phone 7 ist jetzt der Anlass, meine ersten Gehversuche im Bereich der Windows Phone 7 Entwicklung zu starten. Für den Dienst Foursquare (www.foursquare.com, ein Lokalisationsdienst) gibt es eine App, kostenlos, aber auch entsprechend fehleranfällig. Mir passiert es am laufenden Band, dass die App sich aufhängt oder mit diversen Fehlern nicht in der Lage ist – nachdem man sich durch die Struktur der App bewegt hat – einen Checkin zu machen. Weitere kostenlose Foursquare-Apps für Windows Phone 7 sind mir nicht bekannt, lediglich eine mit fast 5 EUR recht teure App beherrscht Foursquare und das deutlich stabiler, jedoch auch mit einem sehr lahmen User Interface.

So beginne ich nun also eine eigene App zu bauen, die sich Foursquare widmen wird. Der Name dieser App lautet: Fourscore. Ich habe auch schon ein Logo entwickelt und die ersten Grundlagen geschaffen. Es folgen das Logo sowie ein paar Screenshots des App-Grundgerüsts im Windows Phone 7 Emulator. Über die Entwicklung der App werde ich ab und zu berichten.

 

GD Star Rating
loading...

Ähnliche Einträge: