Question

Je voudrais fiable ensembles d'auto-installer mon application dans le GAC quand je compile mon application à l'aide de Visual Studio. J'ai pré d'installation et d'événements post-construction dans la construction de mon application Web.

Pre événement de construction:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil.exe" /f /ul Uninstall.Gac.txt

événement de construction du message:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil.exe" /f /il Install.Gac.txt
%windir%\system32\inetsrv\appcmd.exe recycle apppool -apppool.name:"Sharepoint IIS WebApps"

Comme vous pouvez le voir, je suis aussi recycler mon application web piscine pour les nouveaux ensembles pour commencer à travailler.

Le problème que je vais avoir est que ce processus est très peu fiable. Dans le cas où mon application Web échoue, ma prochaine construction échouera car désinstallation échouera (post-construction n'a pas couru sur la construction précédente) ... Etc.

Je voudrais faire de ce cul processus fiable que possible. Je voudrais désinstaller certaines conditions et assemblées si elles sont présentes et installer de force, peu importe qu'ils soient là ou non ... Mais l'événement pré-construction est toujours important pour la raison suivante:

Important

Il est important que tous mes ensembles sont complètement désinstallés avant la construction a lieu, sinon ils ne sont pas copiés dans mon répertoire de sortie (depuis les trouve du compilateur dans GAC) où GAC installation échoue car il ne peut pas trouver des ensembles dans la sortie \ bin dossier.

Comment dois-je faire de manière fiable et l'installation GAC désinstallation sur mon application web build?

Était-ce utile?

La solution

onrelying plutôt sur l'outil GACUtil, vous ne pourriez pas programmer GAC installer / désinstaller? Avec le code, vous pouvez au moins compter sur les codes d'erreur de HRESULTS et de réagir en conséquence.

Informations sur l'API GAC se trouve ici:

http://blogs.msdn.com/ b / junfeng / archive / 2004/09/14 / 229649.aspx

Autres conseils

Si la génération réussit, copier les ensembles de sortie vers un autre répertoire et installer dans GAC à partir de là. Et en pré-construction utiliser ce répertoire pour supprimer ces ensembles de GAC.

De cette façon, il ne devrait jamais y avoir des assemblées dans GAC lors de la compilation. Vous pouvez modifier le post-build pour copier les binaires que si chacun d'entre eux ont été construits avec succès en vérifiant dans le fichier batch si tous les fichiers de sortie existez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top