J'ai trois projets d'application Web qui partagent une bibliothèque commune de contrôles serveur personnalisés. Le partage du code derrière les fichiers est facile - ils sont compilés dans une DLL que je référence dans les autres projets en utilisant une référence de projet. Mais comment gérer des fichiers comme JavaScript, des feuilles de style et des images? J'essaye de faire ceci "la voie de Visual Studio" de sorte qu'il soit aussi facile que possible de comprendre et déboguer.Comment partager des ressources Web communes entre des applications Web dans Visual Studio?
La configuration actuelle est un peu comme ceci:
CommonControlsWebApp +- CustomControls +- resources +- images +- scripts +- stylesheets WebApp1 +- resources* WebApp2 +- resources* WebApp3 +- resources*
*) répertoire virtuel dans IIS.
Le répertoire virtuel de chaque application Web pointe vers le répertoire de ressources de mon CommonControlsWebApp. Ceci est configuré dans IIS. Visual Studio n'est pas capable de comprendre ce lien, donc le débogage nécessite que je me connecte au processus IIS manuellement.
Une autre solution pourrait être d'inclure chaque ressource dans la DLL commune en utilisant WebResourceAttribute. Mais cela transformerait src
liens en quelque chose comme WebResource.axd? D = GUID quand je regarde la source de mes pages Web, et j'ai peur que cela rende assez déroutant pour déboguer.
Une troisième solution consisterait à utiliser Subversion pour inclure les mêmes fichiers dans les trois solutions. Personne dans l'équipe n'a essayé cela auparavant, donc nous ne sommes pas sûrs de la façon dont cela fonctionnerait. Je pense qu'il me manque une bonne solution évidente sur la façon de configurer les projets. Aucune suggestion?
Merci beaucoup pour cette suggestion. J'ai peur de ne pouvoir marquer qu'une réponse comme réponse. –
Pas de problème, telle est la vie :) – Lennaert
Comment cette approche fonctionne avec le débogage? Peut-on mettre un point d'arrêt dans le fichier JavaScript qui est écrasé par la construction? –