Ich beginne ein neues Projekt auf einem neuen Windows 10 Computer, der an CRM 2016 arbeitet, und habe seltsames Verhalten. Ich musste die Enumerationen der Auswahllisten für meinen Code generieren, sodass ich das GeneratePicklistEnums-Projekt aus dem 2016 SDK SampleCode-Ordner verwendete. Ich habe das Signaturzertifikat für die Projekteigenschaften erstellt, Build ausgeführt und die BAT-Datei geändert (wie bei früheren Versionen) und beim Ausführen der Batchdatei erhalte ich folgende Fehlermeldung:Starke Namensvalidierung bei CRM 2016 fehlgeschlagen GeneratePicklistEnums
Unbehandelte Ausnahme: System.IO .FileLoadException: Datei oder Assembly konnte nicht geladen werden 'Microsoft.Xrm.Sdk, Version = 8.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine seiner Abhängigkeiten. Starke Namensvalidierung fehlgeschlagen. (Ausnahme von HRESULT: 0x8013141A) ---> System.Security.SecurityException: Starke Namensvalidierung fehlgeschlagen. (Ausnahme von HRESULT: 0x8013141A) --- Ende der inneren Ausnahmestapelüberwachung --- bei Microsoft.Crm.Services.Utility.CrmSvcUtil.Main (String [] args)
las ich eine Reihe von Blogs und MS-Community-Beiträge zum Deaktivieren der starken Namensüberprüfung und zum Hinzufügen von Ausnahmen - keiner von ihnen hat funktioniert.
Ich schaute auf die AssemblyInfo.cs und sah keinen Verweis auf die AssemblyKeyFile, also fügte ich einen hinzu - machte keinen Unterschied. Ich habe mehrere Dinge mit sn.exe versucht, einschließlich "sn -Vr *", aber das hat auch nicht funktioniert. Ich habe ildasm verwendet, um die GeneratePicklistEnums.dll zu inspizieren, und es zeigte sich als Version 0.0.0.0 und alle referenzierten Assemblys hatten Versionsnummern.
Irgendwelche Vorschläge?
--- Update: ich endlich den Code, indem Sie zurück zum SDK und Kopieren Sie die folgenden Dateien aus dem Ordner BIN in meinem Projekt BIN-Verzeichnis zu laufen bekam:
Microsoft.Xrm.Tooling.Connector
Microsoft.IdentityModel.Clients.ActiveDirectory
Microsoft.Xrm.Tooling.CrmConnectControl
Microsoft.Crm.Sdk.Proxy
Microsoft.Xrm.Sdk
aber es ist immer noch nicht eine Version oder einen starken Namen erhalten.
Sie haben sie in den Ordner "bin" kopiert? Versuchen Sie, Ihre Projektreferenzen so zu aktualisieren, dass sie auf die DLLs im bin-Ordner des SDK verweisen (noch besser, verwenden Sie die auf nugget verfügbaren Assemblys). Sie sagen auch, dass Sie Ihren Code ausführen lassen, aber er bekommt immer noch keine Version oder einen starken Namen .... sagen Sie, dass Ihr Code weiter gekommen ist als beim letzten Mal, aber Sie erhalten immer noch denselben Fehler? – Polshgiant