Montag, 31. März 2014

Kompilierung im AX2012 mit AxBuild.exe


Ab dem  CU7 gibt es für AX2012 R2 ein neues Command Line Utility namens AxBuild.exe, mit dem das Kompilieren parallel über die Kommandozeile ohne den „Bottelneck“ des AX-Clients durchgeführt werden kann.

Mit Hilfe der AxBuild.exe konnten wir den gesamten X++ Source unserer Entwicklung in ca. 30 Min Kompilieren.

Dienstag, 18. März 2014

Fehler „Mixed mode assembly is built against version „v2.0.50727“ of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information." für Visual Studio 2012 WCF Projekte gehosted von Visual Studio 2012 beheben.

Um eine Anbindung eines Archiv System an ein von Entwickeltes AX 2009 Modul zu ermöglich, ohne das eine Direkte Zugriff auf die eigentliche AX Datenbank zu gewähren. Wird von uns ein WCF Dienst eingesetzt der von einem externen Dienstleister konsumiert wird. Innerhalb des WCF Dienstes ist wurde die WCF Host Konfiguration. Um den Folgenden Eintrag erweitert:
 
<startup useLegacyV2RuntimeActivationPolicy="true">
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
Somit kann der Eigentliche Dienst ohne Probleme im Mixed assembly mode arbeiten.
Jedoch bin ich beim Testen des Dienstes immer wieder auf diesen Fehler gestoßen, wenn der WCF Dienst vom Visual Studio gehostet wurden.
Nach langen suchen bin ich auf folgende Lösung gestoßen:
 
Hier wurde die eigentliche Konfiguration angepasst, die vom Visual Studio verwendet wird. In der Standard Installation sollte die WcfScvHost.exe.config unter C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE zu finden sein. Hier wurde die WcfScvHost.exe.config um den entsprechenden Eintrag erweitert.
Meine WcfScvHost.exe.config sieht nun wie folgt aus:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
                <startup useLegacyV2RuntimeActivationPolicy="true">
                                <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
                </startup>
                <runtime>
                               <DisableMSIPeek enabled="true"/>
                </runtime>
</configuration>