1

Ich habe ein einfaches Post-Plugin auf der Konto-Entität, die eine Unterwebsite in SharePoint online mit dem gleichen Namen des Kontos erstellt, die erstellt wurde.Dynamics CRM 2016 Online-Sicherheit/Isolation Mode

Ich habe die SharePointOnlineCredentials Klasse aus der Microsoft.SharePoint.Client.Runtime Assembly verwendet, um sich bei der SharePoint-Instanz anzumelden.

Das Plugin funktioniert auf einer On-Premise-Instanz, solange das Plugin auf isolation mode = none gesetzt ist.

Wenn ich das Plugin im Sandbox-Isolationsmodus ausführen, erhalte ich den Fehler unten (Online-Versionsfehler).

Ich möchte dieses Plugin auf einer Online-Instanz von SharePoint ausführen, aber, wie ich glaube, kann ich nicht online mit einem Isolationsmodus ausführen = keine, gibt es eine andere Möglichkeit zum Ausführen von Code mit dieser SharePoint-Assembly auf einer Online-CRM-Instanz ?

Nachricht: Erstellen, Methode: ExecutePluginLogic Ausnahme: System.Security.SecurityException: Antrag auf Genehmigung des Typs ‚System.Security.Permissions.SecurityPermission Mscorlib Version = 4.0.0.0, Culture = neutral , PublicKeyToken = b77a5c561934e089 ' ist fehlgeschlagen. bei System.Security.CodeAccessSecurityEngine.Check (Object Nachfrage, StackCrawlMark & stackMark, Boolean isPermSet) bei System.Security.CodeAccessPermission.Demand() bei System.Net.AuthenticationManager.Register (IAuthenticationModule authenticationModule) bei

Microsoft.SharePoint.Client.SharePointOnlineAuthenticationModule.EnsureRegistered() bei Microsoft.SharePoint.Client.SharePointOnlineCredentials..ctor (String Benutzername, Passwort Secure) bei

MWLSPXRMToolkitOnline.Plugins.A ccountCreate.ExecutePluginLogic (IServiceProvider serviceprovider) bei MWLSPXRMToolkitOnline.Plugins.BasePlugin.Execute (IServiceProvider serviceprovider)

Die Aktion, die war gescheitert: Die Nachfrage Die Art der erste Erlaubnis, die fehlgeschlagen war:

-System. Security.Permissions.SecurityPermission die Zone der Baugruppe, die fehlgeschlagen war: MyComputer

Antwort

1

nicht sinnvoll, wenn im Sandbox-Modus ausgeführt wird, können Sie keine Verweise enthalten andere Baugruppen. Sie könnten versuchen, ILMerge zu verwenden, um die Baugruppen zusammen zu kombinieren, aber wenn ich Sie wäre, würde ich einen anderen Ansatz wählen, z. die Arbeit an einen externen Webdienst weiterleiten.

+0

Vielen Dank für die Beratung. Ich nehme den von Ihnen vorgeschlagenen externen Webservice-Ansatz. – flowagss

0

Wenn ILMerge zum Kombinieren der Assemblys verwendet wird (wie von James Wood empfohlen, da im Sandbox-Modus keine Referenzen eingefügt werden können), verwenden Sie den Parameter '/ copyatrs' mit ILMerge. Wenn Sie installiert haben ilMarge im Projekt mit NuGet Paket:

die Datei in Lösung bearbeiten: ILMerge.props Parameter ändern:

<ILMergeAllowMultipleAssemblyLevelAttributes>true</ILMergeAllowMultipleAssemblyLevelAttributes> 
<ILMergeCopyAttributes>true</ILMergeCopyAttributes> 
Verwandte Themen