none
Fehler beim Service starten

    Allgemeine Diskussion

  • Hallo,

    ich habe ein Azure Projekt mit WCF-Service. Die ganze Zeit lief der Service reibungslos, dann habe ich einige Klassen hinzugefügt (http://www.codeproject.com/Articles/38575/Fill-Mergefields-in-docx-Documents-without-Microso) und plötzlich erscheint der Fehler:

    Unerwarteter Fehler bei der CreateRiaClientFilesTask-Aufgabe.
    System.Web.HttpException (0x80004005): Die Datei oder Assembly "DrawingM" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden. ---> System.Configuration.ConfigurationErrorsException: Die Datei oder Assembly "DrawingM" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden. ---> System.BadImageFormatException: Die Datei oder Assembly "DrawingM" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.

    sobald ich probiere den Service zu starten. Die Klassen habe ich wieder entfernt und alles im Service auf ein Minimum runtergebrochen:

    [ServiceContract(Namespace = "")]
    [SilverlightFaultBehavior]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class Services
    {
    
        [OperationContract]
        public bool IsAlive()
        {
            return true;
        }
    }

    Aber der Fehler bleibt. Alles was ich über Google finden konnte, hatte mit Problemen zwischen den 32 und 64 Bit Einstellungen zu tun. An diesen Einstellungen habe ich jedoch nichts geändert. Anyway, ich habe diesbezüglich alle Einstellmöglichkeiten ausprobiert. Hat jedoch nichts geholfen.

    Irgendwelche Ideen?

    Grüße
    Lyfexu

    Update:
    Ok, es lag an einem Verweis auf eine scheinbar fehlerhafte Library. Jetzt habe ich alle nicht Microsoft Librarys aus dem Projekt entfernt und erhalte fast den gleichen Fehler. Allerdings jetzt mit "msshrtmi" anstatt mit "DrawingM"

    Unerwarteter Fehler bei der CreateRiaClientFilesTask-Aufgabe.
    System.Web.HttpException (0x80004005): Die Datei oder Assembly "msshrtmi" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden. ---> System.Configuration.ConfigurationErrorsException: Die Datei oder Assembly "msshrtmi" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden. ---> System.BadImageFormatException: Die Datei oder Assembly "msshrtmi" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.

    Freitag, 30. März 2012 09:25

Alle Antworten

  • Hallo Lyfexu,

    bist du schon in der Cloud unterwegs oder Emulierst du bei dir nur?

    msshrtmi hat etwas mit der ganzen Azure-SDK zu tun, ist diese eventuell nicht vorhanden in deiner Libary (beim Cleaning verloren gegeangen)?

    Ggf. wenn das Projekt noch ziemlich klein ist Testhalber ein neues Windows-Azure-Projekt aufmachen und den Code umziehen?

    Grüße

    Lars

    Freitag, 30. März 2012 10:00
  • Hallo contentXXL,

    schon einmal vielen Dank für die Antwort.

    "bist du schon in der Cloud unterwegs oder Emulierst du bei dir nur?"
    Ich emuliere

    Ggf. wenn das Projekt noch ziemlich klein ist Testhalber ein neues Windows-Azure-Projekt aufmachen und den Code umziehen?
    Als ziemlich klein würde ich es nicht bezeichnen. Also die Anzahl der Codezeilen liegen schon gut im fünfstelligen Bereich schätze ich mal.

    msshrtmi hat etwas mit der ganzen Azure-SDK zu tun, ist diese eventuell nicht vorhanden in deiner Libary (beim Cleaning verloren gegeangen)?
    Ich habe eben nochmal alle Assemblies gecheckt. Die System.ServiceModel.Web hat gefehlt. Der Fehler ist weg :) und ein neuer da -.-

    Unerwarteter Fehler bei der GenerateWcfClientFilesTask-Aufgabe.
    System.IO.FileNotFoundException: Die Datei oder Assembly "Microsoft.VisualStudio.ServiceModel.ClientCodeGeneration.resources, Version=4.0.0.0, Culture=de-DE, PublicKeyToken=31bf3856ad364e35" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.

    Grüße

    Update:

    Ich habe die ServiceReferences des SL Clients aktualisiert und jetzt gibt es wieder den alten Fehler mit msshrtmi.

    Also ich programmiere noch nicht lange in Azure/Silverlight, ca 1 Jahr. Aber Das sind die Momente wo ich nahe am Verzweifeln bin.

    • Bearbeitet Lyfexu Freitag, 30. März 2012 11:27
    Freitag, 30. März 2012 11:24
  • Hallo Lyfexu,

    das kenne ich zu genüge diese Verzweiflung, wir sind zur Zeit auch dabei unser Content Management System in die Cloud zu bringen.

    Meine Faustformel: 5 Min-Entwicklungszeit Lokal = 5 Stunden Entwicklungszeit in Azure (bei mir tirfft das ziemlich gut zu).
    Microsoft.VisualStudio.ServiceModel.ClientCodeGeneration.resources habe ich bislang noch nicht gesehen.
    Welches SDK hast du installiert, ggf. das SDK neu drüberbügeln?

    Meine Abhänigkeiten sind:
    Microsoft.Web.Administration
    Microsoft.WindowsAzure.CloudDrive
    Microsoft.WindowsAzure.Diagnostics
    Microsoft.WindowsAzure.ServiceRuntime
    Microsoft.WindowsAzure.StorageClient

    und danach noch die System.exstensions.

    (Ich verwende eine ASP.NET Webapplikation).

    Versuch mal einen Dummy WCF-Service zu erstellen (er braucht ja nichts zu tun), und überprüfe einfach mal ob da auch die Fehler auftreten?
    Dann kannst du immerhin schon ausschließen, dass es ein Globales Problem ist sondern nur ein Refferenzproblem in deinem Projekt.

    Grüße

    Freitag, 30. März 2012 11:39
  • Hallo Lyfexu,

    schau Dir mal folgenden Thread auf Stackoverflow an:

    http://stackoverflow.com/questions/8273321/could-not-load-file-or-assembly-msshrtmi-or-one-of-its-dependencies-azure-tab 

    Schöne Grüße

    Oliver

    Freitag, 30. März 2012 13:10
    Moderator
  • Hallo,

    "schau Dir mal folgenden Thread auf Stackoverflow an:"
    die Seite kenne ich schon, aber danke.

    Seit meinem letzten Post hat sich noch die ein oder andere Neuerung ergeben. Ich habe die WebRole probehalber auf Zielplatform:x86 eingestellt und dann war der Fehler weg. Wenn ich Zielplatform:x64 oder AnyCPU wähle, ist der Fehler wieder da.

    Dies zum Einen. Zum Anderen habe ich eine neue dll hinzugefügt, die nichts mit Microsoft zu tun hat. Prompt kommt wieder der Fehler:

    Unerwarteter Fehler bei der CreateRiaClientFilesTask-Aufgabe.
    System.Web.HttpException (0x80004005): Die Datei oder Assembly "xxx" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden. ---> System.Configuration.ConfigurationErrorsException: Die Datei oder Assembly "xxx" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden. ---> System.BadImageFormatException: Die Datei oder Assembly "xxx" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.

    Wenn ich die dll wieder entferne und aus dem bin Ordner lösche, funktioniert alles wieder. Wie kann man sich diese Ironie des Schicksals erklären, dass die Assembly nicht gefunden wird, sobald man sie hinzufügt?

    Grüße

    Freitag, 30. März 2012 14:03
  • Hallo Lyfexu,

    >>...Zielplatform:x86 eingestellt und dann war der Fehler weg. Wenn ich Zielplatform:x64 oder AnyCPU wähle, ist der Fehler wieder da.

    Öffne mal deinen Projektordner und schau nach ob die msshrtmi.dll unter den folgenden Pfaden vorhanden ist:

    ...\bin\Debug\MyProject.csx\roles\MyWebRole\base\x64\msshrtmi.dll

    ...\bin\Debug\MyProject.csx\roles\MyWebRole\base\x86\msshrtmi.dll

    Die msshrtmi.dll in x64 ist größer als die x86 - Version. Wenn nicht vorhanden, lösche bitte das bin-Verzeichnis bevor Du das Projekt im Visual Studio  öffnest. Das Visual Studio holt die Runtimedateien dann neu (aus dem Installationsverzeichnis des Azure SDKs)

    >>Unerwarteter Fehler bei der CreateRiaClientFilesTask-Aufgabe....

    Die Veröffentlichung einer sehr allgemeinen Fehlermeldung bringt gar nichts. Schreib uns lieber die Details deiner Arbeit (z.B. relevanten Code u.ä.), damit man eine Chance hat das ganze nachzuvollziehen.

    Schöne Grüße

    Oliver

    Freitag, 30. März 2012 15:04
    Moderator
  • Hallo Oliver,

    "Öffne mal deinen Projektordner und schau nach ob die msshrtmi.dll unter den folgenden Pfaden vorhanden ist:"
    Ja, sind vorhanden und die x64 ist größer.

    "Die Veröffentlichung einer sehr allgemeinen Fehlermeldung bringt gar nichts."
    Da hast Du natürlich recht. Ich wollte damit ausdrücken, dass ich manche Assemblies der WebRole hinzufügen kann und dann kommt diese Fehlermeldung mit dem Namen der Assembly an der Stelle von "xxx".

    Um etwas konkreter zu werden. Ich probiere ein docx Dokument in ein PDF zu konvertieren. Und bei einigen der Libraries, die ich dazu nutzen will, kommt der beschriebene Fehler wenn ich sie der WebRole hinzufüge. Also wenn ich der WebRole z.B. die foo.dll als Verweis hinzufüge, kommt die Fehlermeldung Die Datei oder Assembly foo oder eine Abhängigkeit davon wurde nicht gefunden. Wenn ich sie wieder entferne, funktioniert alles wieder.

    Grüße

    Freitag, 30. März 2012 16:01
  • Hallo Lyfexu,

    hast Du noch Fragen?

    Schöne Grüße

    Oliver

    Montag, 9. April 2012 12:46
    Moderator
  • ****************************************************************************************************************
    Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
    Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
    ****************************************************************************************************************

    Robert Breitenhofer, MICROSOFT  Twitter Facebook
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Donnerstag, 12. April 2012 13:00
    Besitzer