Auteur de questions
Chargement assembly réseau dans un nouveau domaine (Exception de HRESULT : 0x80131515)

Discussion générale
-
Bonjour,
j'ai une application avec un form mdi qui lance d'autre projet .net en mdichildren via des assembly.
Jusqu'a présente j'utilisais Assembly.UnsafeLoadFrom("cheminDeMonProgramme.exe"). Le seul problème c'est qu'en faisant de cette façon mes assembly ne se décharge pas tant que je ne ferme pas completement mon form mdi. A ce que j'ai pu voir ici c'est tout a fait normal et il faut donc que je crée un domaine d'application pour chacun des assembly que je lance via mon mdi form pour pouvoir ensuite les décharger en déchargeant leur domaine d'application.
Seul problème, je n'arrive pas à lancer mes assembly j'ai l'erreur via newDomain.ExecuteAssembly("cheminDeMonProgramme.exe"), j'ai une exception fileLoadExption "Impossible de charger le fichier ou l'assembly 'cheminDeMonProgramme.exe' ou une de ses dépendances. L'opération n'est pas prise en charge. (Exception de HRESULT : 0x80131515)"
Après avoir fait de nombreux test, le problème semble se situer au niveau des autorisations lors de l'utilisation de ressources réseaux.
En effet, mes assembly dont l’exécutable est localisé sur mon serveur ne se lancent pas. Ceux ci utilisent également une dll localisée sur le serveur.
J'ai déplacé mon exécutable en local mais j'ai eu la même erreur.
Enfin j'ai crée un programme bidon "hello world" ne contenant aucun appel à une ressource du réseau et j'ai placé son executable sur le serveur ; là j'ai de nouveau l'erreur par contre quand je mets l'executable en local, tout se déroule correctement.
Merci d'avance de votre aide
ps : via les réponses du forum j'ai testé plusieurs choses comme :
- mettre à inactif "générer des assemblys de sérialisation"
- mettre à enable "ne pas conserver les informations de zone de pièces jointes" dans l'éditeur de stratégie de groupe locale
- ajouter/modifier dans les fichiers sgen.exe.config & devenv.exe.config : <loadFromRemoteSources enabled="true" />
- Type modifié Ciprian Duduiala lundi 30 janvier 2012 06:33 attente de feedback
Toutes les réponses
-
-
De ce que je vois, vous avez essayé presque toutes les solutions. Est-ce que vous avez vérifié aussi si les assemblies sont approuvés ? Je vois que beaucoup des gens ont résolu leur problème par débloquer l’assembly (voir aussi cette discussion). Je vois aussi qu’il est possible utiliser caspol.exe pour accorder une confiance totale pour le chemin UNC. Finalement, vérifiez aussi les droits d’accès au dossier du réseau ou les fichiers se trouvent.
Finalement, j’ai trouvé une discussion sur un sujet similaire et il semble que vous pouvez utiliser Managed Extensibility Framework comme alternative, mais je ne connais pas très bien cette variante, donc je ne peux pas vous préciser plus.
Les liens sont en anglais, mais vous pouvez utiliser Microsoft Translator pour les traduire.
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
-
-
Par "assemblies approuvés" je veux dire assemblies débloques comme décrit ici : http://msdn.microsoft.com/fr-fr/library/ee890038.aspx .
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
-
J'avais vu ça aussi dans les solutions proposé et je suis allé voir dans les propriétés de ma DLL (bien que ça soit mon code et pas un code téléchargé sur le web) et je n'ai pas vu l'option débloquer dans l'onglet général. J'en ai déduit que le problème ne devait pas venir de là ?
nb : je suis allé voir ça avec l'exporateur windows de windows 7
-
Le bouton Débloquer ne s'affiche pas si l'assembly est déjà débloqué et disponible, mais je ne sais pas si l’assembly est considéré débloqué pour tout le réseau. Est-ce que vous avez aussi essayé l’option avec caspol.exe pour accorder une confiance totale à votre assembly ?
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.