8
votes

Gacutil Post Build Event Exite avec code 1

J'essaie de vous inscrire et d'assembler dans le GAC sur un événement post-construction. Voici ma commande post-build

"C: \ Fichiers de programme (x86) \ Microsoft sdks \ windows \ v7.0a \ bin \ NetFX 4.0 outils \ x64 \ gacutil.exe" / si "$ (Targepath)"

Je suis sur X64 / Windows 7 / VS2010. Je suis en train d'exécuter vs2010 en tant qu'administrateur et j'ai été désactivé (qui est à peu près tout ce que mon Google-FU découvre ce problème).

La pochette de poteau est en train de sortir avec le code 1 pour les 4 instances de gacutil.exe que je peux trouver sur ma machine.

Quelqu'un peut-il savoir un moyen autour de cela? Merci d'avance.


2 commentaires

Cela a effectivement commencé à travailler après une reconstruction de ma machine de développement. Donc, je ne suis pas sûr de ce que le problème était.


L'erreur qui s'affiche dans la coquille est "Échec de l'addition du cache: le processus ne peut pas accéder au fichier car il est utilisé par un autre processus".


6 Réponses :


1
votes

On dirait que votre script de poche est incorrect ... Essayez d'utiliser "$ (devenvdiir) .... \ sdk \ v2.0 \ bin \ gacutil.exe" / i "$ (Targepath)" / f < / p>


0 commentaires

14
votes

Copier la chaîne de commande d'événement POST-Build (par exemple, "" C: \ Program Files (X86) \ Microsoft SDKS \ Windows \ V7.0A \ BIN \ NETFX 4.0 outils \ x64 \ gacutil.exe "/ si" D : \ Projectfolder \ projet.name \ bin \ debug \ projet.name.dll "À la carte de clip, ouvrez une invite de commande sous forme d'administrateur, collez l'événement Post-Build et appuyez sur Entrée pour exécuter. Vous obtiendrez plus Explication descriptive du code de sortie.

Dans mon cas, mon projet a été mis à construire dans le mauvais cadre cible. Je l'ai commuté de .NET 4 à .NET 3.5 et l'erreur est sortie.

meilleure de la chance


3 commentaires

Suite à cette suggestion, j'ai eu une erreur refusée. Cela a été corrigé en exécutant Visual Studio en tant qu'administrateur.


C'est une bonne suggestion. Dans mon cas particulier, l'erreur de sortie était que j'ai oublié de signer l'assembly.


Dans mon cas, le .dll a été utilisé par un autre processus. Merci




2
votes

Le mien est généralement résolu par IISRESET.


0 commentaires

1
votes

OS: Windows Server 2012

.NET Cadre Travail 4.5

Le chemin doit être: C: \ Fichiers de programme (x86) \ Microsoft sdks \ Windows \ v8.0a \ bin \ NetFX 4.0 outils \ gacutil.exe


0 commentaires

4
votes

solution:

Essayez d'exécuter Visual Studio comme administrateur pour installer des choses dans GAC ... :)


0 commentaires