Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Caspol le casse-pieds, .Net Configuration manager absent : comment exécuter un code sur un partage réseau avec VS (site ASP.NET par exemple) ?

[new:12/10/2010]Exécuter et déboguer du code sur un réseau (un partage, un “share”) pose des tas de problèmes de sécurité. On peut bricoler les paramètres de Visual Studio mais pour un site Asp.net c’est le serveur de débogue lui-même qui ne veut pas fonctionner. Comment faire ?

.NET Configuration Manager

On trouve des explications très intéressantes sur la façon régler le problème avec .NET Configuration Manager qui se trouve dans les outils d’administration. Cool.

Hélas ce module n’est fourni qu’avec les Framework 1.x et 2.0, pas de chance quand on travaille en 4.0 (voire en 3.0 ou 3.5).

La solution consiste ici à installer les centaines de méga du SDK du Framework 2.0 juste pour accéder à ce maudit programme de configuration (350 Mo de download compressé, on imagine décompressé et installé…).

Je veux bien qu’avec les Tera de disques qu’on a aujourd’hui ça ne sert à rien de mesquiner, mais le demi Giga pour un utilitaire périmé depuis 3 versions du Framework c’est peut-être frôler la crétinerie…

Exit le .Net Configuration Manager donc.

CasPol

Rien que le nom m’amuse de celui-là. Et pourtant c’est lui qu’il faut utiliser désormais. Si le Framework 4.0 est fantastique et que les évolutions majeures depuis la version 2.0 ne sont même pas listables ici tellement il y en a, côté outils de configuration c’est retour au moyen-age… CasPol.exe est en effet un outil en ligne de commande totalement hermétique, traduisez : même avec l’aide on n’y comprend rien.

j’exagère à peine.

La solution

S’il ne s’agissait que de Visual Studio, le lecteur assidu sait que dans le billet “Développer avec un serveur (ou un NAS) et éviter les erreurs de type “fichier provenant du web” il y a la solution… Mais s’il s’agit d’exécuter un site Web via le serveur de débogue, cela n’est pas suffisant.

Alors on fait comment ? On abandonne l’idée de déboguer un site web Asp.net sur le réseau et on le copie en local pour régler le problème comme un sagouin ? Que nenni !

On avale la doc de CasPol ? Faut pas pousser dans le masochisme non plus…

Et alors ?

Quand on est un lecteur de DotBlog on copie tout simplement le petit batch suivant qu’on enregistre sous le nom qu’on veut (CasPolShare.bat par exemple) et ensuite quand on veut autoriser le fulltrust et l’accès à un répertoire réseau on tape “CasPolShare Z:” (pour autoriser tout Z:, à supposer que Z: soit un lecteur réseau) ou bien “CasPolShare \\Machinex\\” (pour faire la même chose avec un nom de machine). On peut passer un chemin particulier pour n’autoriser que ce chemin (au lieu d’un disque réseau entier).

   1: call %windir%\Microsoft.NET\Framework\v4.0.30319\caspol -q -m -ag 1.2 -url %1\* FullTrust -n %1 -d "FullTrust granted to:  %1"

La seule chose à vérifier : le chemin vers CasPol.exe, ici puisé de l’installation Framework 4.0.30319. Il faut éventuellement personnaliser ce chemin selon votre setup.

Conclusion

Pourquoi se priver des joies du réseau alors qu’un petit batch va tout arranger ?

Merci qui ?

Et Stay Tuned !

blog comments powered by Disqus