Schlagwort-Archive: Visual Studio

Visual Studio PowerShell Hands-on

Visual Studio 2017 unterstützt die Programmierung in mehreren Sprachen, im Build-in ist Visual C#, C/C++ und F#. Weitere Sprachen wie JavaScript oder Python können nachgeladen werden. Möchte man mit PowerShell Scripte arbeiten, benötigt man die Visual StudioPowerShell-Tools, diese können über den Visual Studio Installer (vs_installer.exe) hinzugefügt werden, über den VS Installer kann die Arbeitsumgebung nach der Installation angepasst werden, einzelne Komponenten können hinzugefügt oder entfernt werden.

Um die PowerShell Codetools zu laden geht man im Visual Studio Installer auf das Menu Einzelne Komponenten und zum Abschnitt Codetools, aktiviert PowerShell-Tools und klickt auf ändern.

Visual Studio
Visual Studio Installer

Nach dem hinzufügen der PowerShell-Tools können Scripte mit F5 im Debugger ausgeführt werden.

Visual Studio Debugger
Visual Studio Debugger

 

AX2012 Deploy SSRS Report in Visual Studio zu AOS Instanz

Microsoft Dynamics AX 2012 Projekte finden in der Regel über mehrere AOS-Instanzen statt. Die Konfiguration wird mithilfe des Microsoft Dynamics AX-Konfigurationsprogramm für die entsprechenden Anwendungsobjektserver-Instanz erstellt, mit dem Button Konfiguration wird die Windows Communication Foundation (WCF) Konfiguration in der Registrierung gespeichert. Visual Studio 2010 Ultimate liest nun die Verbindung aus der Registrierung aus.

Microsoft Dynamics AX-Konfigurationsprogramm
Microsoft Dynamics AX-Konfigurationsprogramm

Bei der Verarbeitung von SSRS Reports aus Visual Studio besteht oft die Situation, das Reports erst in einer Entwickler Instanz zu deployen sind, bevor diese in die Test, und anschliessend in die produktive Instanz übergehen können.

Damit Entwickler die Gewissheit haben in welcher Instanz sie gerade den Report deployen, geht man am besten über den Visual Studio Application Explorer und geht zu den SSRS Reports -> Reports und öffnet ein Report zum editieren, hier ist es AccountantInvestmentAnalysis, rechts im Fenster Solution Explorer selektiert man ReportModel(#), damit unten im Fenster Properties im Feld Repository der Server und die SQL-Server Instanz sowie die AOS, Anwendungsobjektserver-Instanz erscheint.

Visual Studio 20120 ultimate SSRS Reports deploying
Visual Studio 2010 ultimate, Deploying SSRS Reports

Nun kann der Report bereitgestellt werden, ist mit dem Report alles in Ordnung, kann der Report über Application Object Tree (AOT) der nächsten AOS-Instanz integriert werden.

Sharepoint und Visual Studio – OWSTIMER.EXE

Sharepoint ab Version 2010 verfügt über eine neue Funktion, die den OWSTIMER.EXE Prozess jede Nacht recycelt – ähnlich wie die der Anwendungspool-Funktionalität des IIS – dies um Speicherprobleme des Timer-Dienst zu vermeiden.

Das Recycling wird durch ein neuen Zeitgeberauftrag der in Sharepoint 2010/2013 hinzugefügt wurde kontrolliert: der Job „Timer Service Recycle“ läuft Standardmässig einmal pro Tag um 6 Uhr morgens durch.

Während der Durchführung des Recycling Prozesses und das Herunterfahren des Timer-Dienstes kommt es zu einem Problem durch .NET.

Das Problem hierbei ist, der Key zur Verschlüsselung hat in einem Thread die Identität dessen Benutzerkonto angenommen, von diesem der Key erstellt wurde. Wenn nun der .NET Finalizer verarbeitet wird, kommt es dazu das der Key zur Verschlüsselung während des heruntergefahrenen Timer-Dienst, bei dem nächsten Thread dieser nicht imitiert ausgeführt wird – so dass der Schlüssel nicht vorhanden ist und es zur Ausnahme “keyset does not exist“ kommt.

Da diese Ausnahme in der letzten Phase der Abschaltung des Prozesses kommt, wird kein weiterer Schaden verursacht, der entsprechende Fehler wird im Ereignisprotokoll vermerkt:

Sichtbar wird das Problem auch auf der Konsole wenn Visual Studio oder ein weiterer JIT-Debugger auf dem betroffenen System installiert ist. In diesem Fall wird folgender Dialog auf der Server Konsole erscheinen:

Visual Studio Just-in-Time Debugger
Visual Studio Just-in-Time Debugger

Deinstallieren von Visual Studio wird dieses Problem nicht beheben, da die Registrierungseinstellungen noch präsent und aktiv ist.

Just-In-Time-Debugger exception
Just-In-Time-Debugger exception

Um den Server so zu konfigurieren dass das Dialogfeld zur unbehandelten Ausnahme nicht mehr auftritt, kann der Registrierungseditor aufgerufen werden um folgende Registrierungsschlüssel zu löschen:

Bei einem 64-bit Betriebssystem sind folgende Registry Keys zu entfernen:

Regedit vsjitdebugger entfernen
Regedit vsjitdebugger entfernen

Die REG_SZ Zeichenfolge Debugger löschen, dabei ist acht zu geben das keine weiteren Schlüssel entfernt werden!