Je rencontre un problème étrange avec VS2010. Nous utilisons TFS pour créer nos DLL d'API et nous les référenions dans nos projets en utilisant un lecteur réseau mappé qui était entièrement fiable. Nous travaillons comme ça depuis au moins deux ans et tout a parfaitement fonctionné.
Aujourd'hui, j'ai converti une webapp en vs2010 et quand je la compile dans Release, ça me donne:
SGEN: erreur: impossible de charger le fichier ou l'assembly 'file: /// L: \ Api \ Release API_20100521.1 \ Release \ CS.API.Exceptions.dll' ou l'une de ses dépendances. L'opération n'est pas prise en charge. (Exception de HRESULT: 0x80131515)
La chose étrange est que cela fonctionne quand il est sous le profil de débogage ...
J'ai essayé d'ajouter le
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
dans app.config et toujours pas de chance (voir http://social.msdn.microsoft.com/Forums/en/msbuild/thread/d12f6301-85bf-4b9e-8e34-a06398a60df0 et http://msdn.microsoft.com/ fr-fr / library / dd409252 (VS.100) .aspx )
Je suis à peu près sûr que ce problème provient de Visual Studio ou de msbuild, car notre code ne fonctionnera pas à partir d'un partage réseau lors de la production, car toutes les dll référencées sont copiées dans le dossier bin.
Si quelqu'un a une solution (ou juste une idée de chemin de recherche), faites-le moi savoir!
Edit: Il s'avère qu'il fonctionnait en mode Débogage car la génération d'assemblys de sérialisation était désactivée. Comme le titre l'indique, c'est vraiment un problème SGEN puisque c'est cet utilitaire qui dit que le chemin n'est pas fiable ...
Je viens d'avoir le même problème / similaire sur un serveur de build TFS où une build référençait des DLL à partir d'un partage réseau.
Le problème est que le modèle de politique de sécurité CLR v4 a changé depuis les versions précédentes et ne sont pas des assemblys sandbox comme avant.
Pour résoudre votre problème, recherchez simplement l'emplacement de sgen.exe et créez un sgen.exe.config dans le même dossier avec le contenu suivant:
sgen.exe est généralement à
Vous pouvez lire certains des changements concernant les stratégies CAS dans .NET 4.0 dans cet article de blog: Lien
la source
Eu le même problème et le changement de configuration n'a pas fonctionné. Ce n'est que lorsque j'ai désactivé Générer l'assemblage de sérialisation dans les propriétés du projet que cela a fonctionné.
la source
J'ai eu la même erreur et j'ai trouvé que ma DLL était "bloquée". Ouvrez la DLL dans l'explorateur, faites un clic droit -> propriétés -> appuyez sur «Débloquer».
http://cantgrokwontgrok.blogspot.com/2009/10/visual-studio-unknown-build-error.html
la source
J'ai eu exactement le même problème et je l'ai résolu en ajoutant le sgen.exe.config sous C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools
avec cette configuration simple comme d'autres l'ont dit
la source
Pour ceux d'entre vous exécutant une version 64 bits du service de construction TFS, j'ai dû créer le fichier de configuration dans le chemin suivant:
Et le contenu du fichier:
la source
J'ai eu le même problème, j'ai chargé l'assemblage dans le GAC et j'ai travaillé
la source
L'ajout de l'extrait ci-dessous au fichier app.config a fonctionné dans mon cas. J'exécute Windows XP, avec le Service Pack 1 VS2010.
la source
Tout comme un FYI si vous exécutez Windows 7, le fichier sgen.exe peut être trouvé à l'adresse:
C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Outils
J'ai dû créer un sgen.exe.config et le placer là, puis ce problème a disparu.
la source
Ni le
unblock
ni leconfig
travaillé pour moi. Ce qui a fait le truc pour moi était cette astucecaspol
. L'IranEt j'étais prêt à partir, même pas un redémarrage de VisualStudio requis.
la source
J'ai eu un problème similaire et j'en ai finalement surmonté en supprimant le fichier licenses.licx dans le dossier Propriétés de la solution.
la source
Juste au cas où comme moi, Débloquer n'était pas une solution, car Débloquer n'apparaît pas sur les propriétés de mon fichier dll. J'ai continué à chercher et j'ai fini par fermer mon fichier de solution et rouvrir à l'aide du C: copie locale au lieu du chemin UNC réseau vers le fichier sln du projet. A pu publier après avoir emprunté cette voie.
la source
Dans mon cas, un tas de dll ont été bloqués.
Pour débloquer tous les fichiers du dossier, j'ai utilisé Power Shell avec la commande suivante
la source