Istallare in automatico in GAC
Quando lavoriamo con gli assembly che devono essere condivisi da più applicazioni e molto meglio e soprattuto più comodo inserire il nostro assembly nella Global Assembly Cache(GAC), così da avere un'unico repository da dove referenziare gli assembly.
Per poter inserire un assembly in GAC come prima cosa bisogna dargli uno strong name e si può fare tramite il command line con il tool sn.exe, poi bisogna usare un'altra utility GACUTIL per istallare.
Detto ciò, trovo molto utile distillare-installare in automatico l'assembly in GAC senza dover ricorrere al Command-line e si può fare questo attraverso le proprietà del progetto con Visual Studio negli eventi pre e post build e potete farlo aggiungendo queste due righe di codice
pre-build event :'"$(DevEnvDir)\..\..\SDK\v1.1\Bin\gacutil" -u "$(TargetName)"'
post-bul event :'"$(DevEnvDir)\..\..\SDK\v1.1\Bin\gacutil" -i "$(TargetPath)"'
DevEnvDir è una macro che recupera il percorso C:\Programmi\Microsoft Visual Studio .NET 2003\Common7\IDE e quindi gli dico di tornare indietro di due directory e andare sotto SDK\v1.1\Bin\ e prendere il tool gacutil ed eseguire la disistallazione tramite -u e disistallare l'assembly (TargetName)
Mentre nel post build gli dico di eseguire gacutil -i istallando l'assembly che è scritto all'interno della macro TargetPath
Quindi ogni volta che verrà fatto il buil verrà prima disistallato e poi installato l'assembly nella GAC.
lunedì, 30 mag 2005 Ore. 14.10