Fehler beim Registrieren von Plugins und / oder Workflows. Die Plug-In-Assembly enthält nicht die erforderlichen Typen oder der Assembly-Inhalt kann nicht aktualisiert werden

9

Ich habe in Visual Studio 2010 mithilfe von CRM 2011 Developer Toolkit einen benutzerdefinierten Workflow implementiert. Es funktionierte gut mit systemgeneriertem Namespace. Aber, wenn ich den Namespace meines Projekts änderte, warf es einen Fehler "Error Registrierung Plugins und / oder Workflows. Plug-in Assembly enthält nicht die erforderlichen Typen oder Assembly Inhalt kann nicht aktualisiert werden." während Bereitstellen es. Und ich habe den Namensraum in .crmregister Datei, Projekteigenschaften und im Quellcode geändert. Dann ist das Problem hier.?

    
Charan Raju C R 14.02.2012, 13:33
quelle

15 Antworten

11

Wenn Sie Ihre custome Workflows über das CRM-Entwicklungstoolkint und -Paket bereitstellen und danach, wenn Sie einen Klassennamen oder Namespace geändert haben, müssen Sie die Datei RegisterFile.crmregister manuell ändern, da Visual Studio dies nicht für Sie erledigt. Wenn Sie also Ihren Klassennamen von A nach B und Ihren Namensraum von N nach M ändern, muss 'TypeName' aus dem folgenden xml in RegisterFile.crmregister wie folgt lauten:

%Vor%     
patricgh 28.05.2012, 12:44
quelle
7

Ich habe genau das gleiche Problem beim Spielen mit dem CRM Toolkit angetroffen.

So habe ich das Problem gelöst:

  1. Gehen Sie zu Einstellungen / Lösungen / Ihre Lösung in CRM
  2. Löschen Sie die SDK-Nachrichtenverarbeitungseinträge für die Plugin-Assembly
  3. Löschen Sie die Plugin-Assembly selbst aus der Lösung
  4. Kehren Sie zu Visual Studio und Deploy
  5. zurück

Ich musste nichts manuell bearbeiten.

    
Alex 02.08.2012 14:40
quelle
3

In unserem Fall haben wir ILMerge verwendet und versehentlich haben wir Microsoft.Xrm.Sdk.dll in unser Plugin eingebunden. Durch das Entfernen dieser DLL (copy local = false) wurde das Problem behoben.

Diese zusammengeführte DLL funktionierte trotzdem nicht, da sie eine Sicherheitsausnahmebedingung auslöst Vererbungssicherheitsregeln, die beim Überschreiben von Membern verletzt wurden: 'Microsoft.IdentityModel.Claims.ClaimsIdentity.System.Runtime.Serialization.ISerializeable.GetObjectData diese GetObjectData war in Microsoft.Xrm vorhanden. Sdk.dll daher Sicherheitsausnahme von SandBox-Bereitstellung.

    
Serge 19.05.2016 05:45
quelle
1

Versuchen Sie, die Baugruppenversion zu ändern.

    
paramosh 14.02.2012 13:43
quelle
1

Verweisen Sie auf andere Assemblys (wie Microsoft.Xrm.Sdk)? Wenn dies der Fall ist, müssen sie mit einem Tool wie ILMerge zusammengeführt werden Sie stellen in der Datenbank bereit. Wenn Sie eine Bereitstellung auf Festplatte durchführen, müssen sie auch im Assembly-Ordner vorhanden sein oder im GAC installiert sein.

    
Jason Lattimer 14.02.2012 14:00
quelle
1

Sie müssen möglicherweise prüfen, ob das Plugin mit demselben Namen als registriertes Plugin in der Organisation existiert. Heben Sie die Registrierung des Plugins auf und registrieren Sie die Assembly und die Schritte erneut.

    
Nithin Paul 27.03.2012 17:22
quelle
1

Wenn Sie einige automatisch generierte Klassen, z. Plugins, die Sie erstellt haben, indem Sie mit der rechten Maustaste auf Create Plug-in geklickt haben und Sie es gelöscht haben, müssen Sie die Traces in RegisterFile.crmregister bereinigen. Wenn es ein Plugin war, müssen Sie einen ganzen Zweig mit seinem Namen löschen.

    
Arthur 10.04.2012 08:46
quelle
1

Dies kann passieren, wenn Sie den Hauptklassennamen Ihres Plugins ändern / umgestalten. (Wenn zum Beispiel die Codeanalyse sich beschwert, dass Sie einen Rechtschreibfehler haben, und Sie beheben es) Dieses Problem wird erst beim nächsten Ausführen der Bereitstellung angezeigt

Wenn Sie also den Namen Ihrer Plugin-Klasse eingegeben haben ...

  1. Löschen Sie in der Default CRM Solution Ihr Plugin aus "Plugin Assemblies"
  2. Schauen Sie in die Datei RegisterFile.crmRegister Ihres Plugins. Auf dem XML-Tag werden 3 Verweise auf Ihren Klassennamen angezeigt - einige davon wurden möglicherweise nicht aktualisiert.
  3. Aktualisieren Sie die Namen in dieser Datei und stellen Sie sie erneut bereit.

erledigt.

(Ok, gerade bemerkt, Masoud Ghabachi hat das schon vor Ewigkeiten erwähnt ...)

    
Phil 11.09.2012 22:03
quelle
0

Heben Sie die Registrierung des Plugins auf und registrieren Sie es erneut.

    
Anwar 14.02.2012 18:37
quelle
0

Abgesehen von den oben genannten Fällen, überprüfen Sie die .snk-Datei oder .pfx-Datei. Ändert es sich in Ihrer zweiten Bereitstellung.

In diesem Fall versuchen Sie, alten Quellcode zu verwenden, oder Sie müssen den Plug / Workflow erneut registrieren.

    
Kiran Madhav 20.11.2012 05:58
quelle
0

Stellen Sie sicher, dass Ihre Plug-in / Workflow-Klasse eine öffentliche Klasse ist.

Ich habe den gleichen Fehler bekommen, weil meine Plugin-Klasse privat war.

    
Scorpion 08.07.2013 15:55
quelle
0

Überprüfen Sie die Workflow-Eigenschaft "RegisterFile.crmregister" TypeName darf keine Leerzeichen enthalten.

    
Andrius Cyvas 21.11.2013 15:42
quelle
0

Ich habe die Signaturschlüssel-Datei geändert und den Fehler erhalten, indem ich ihn in die vorherige Schlüsseldatei zurückversetzt habe, um das Problem für mich zu lösen.

    
Lily Shita 08.01.2015 13:36
quelle
0

Ihre Version muss mit der Version identisch sein, die bereits für ein Upgrade veröffentlicht wurde. Wir hatten eine Assemblerversion von 1 Dur, 0 Moll - und die, die wir veröffentlichen wollten, war 12 Dur, 0 Moll.

Wir haben die Visual Studio-Lösungsnummer zurück auf Version 1.0.0.0, Build, Load Assembly, Update geändert - und es hat funktioniert!

Das Löschen würde das Problem aufgrund der Abhängigkeiten von Workflows NICHT lösen, wenn sie verwendet wurden.

Wir haben die Verfolgung eingeschaltet und das SQL-Skript gefunden, um den Schuldigen zu finden.

    
riaandelange 27.02.2015 14:21
quelle
0

Ich habe das bekommen, wenn das preImage-Element nach dem postImage-Element im Register platziert wurde. Ihre Plätze zu tauschen reparierte es.

    
mswaim 12.06.2015 12:56
quelle