2010-04-13 7 views
1

J'ai de nombreuses applications web ASP.NET 3.5 avec des fichiers web.config au niveau de l'application, que je veux mincir et faire plus lisible.Visual Studio 2k8 (et 2k10) ne peut pas compiler l'application Web lorsque les assemblys gac sont déplacés dans le fichier web.config global

Visual Studio 2010 vient d'arriver et a déjà commencé à "nettoyer" plusieurs sections de web.config - donc c'est le moment idéal pour continuer le bon travail et faire de même dans d'autres domaines du web. fichier de configuration.

Actuellement, j'ai plusieurs assemblées tierces toutes heureusement enregistrées dans le GAC, elles sont ensuite référencées dans chaque Web.Config au niveau de l'application voir ci-dessous;

<configuration> 
    <system.web> 
     <compilation defaultLanguage="C#" debug="true"> 
      <assemblies> 
       <add assembly="AjaxControlToolkit, Version=3.0.30512.20315, Culture=neutral, PublicKeyToken=28F01B0E84B6D53E"/> 
       <add assembly="aspNetEmail, Version=3.5.2.0, Culture=neutral, PublicKeyToken=BC571E8DA1C1F543"/> 
       <add assembly="aspNetDns, Version=3.0.0.0, Culture=neutral, PublicKeyToken=BC571E8DA1C1F543"/> 
       <add assembly="Microsoft.Practices.EnterpriseLibrary.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
       <add assembly="Microsoft.Practices.EnterpriseLibrary.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      </assemblies> 
     </compilation> 
    </system.web> 
</configuration> 

J'ai déplacé la compilation nœud ci-dessus dans le fichier web.config global situé à Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.config - et l'application fonctionne très bien sous IIS7 c'est-à-dire que l'application n'a aucun mal à trouver ces assemblages GAC.

cependant quand je compile maintenant (Maj + Ctrl + b) mon application web en studio visuel 2K8 ou 2k10 je reçois l'erreur familière « Le nom du type ou espace de noms « aspNetDns » n'a pas pu être trouvée (êtes-vous manque une directive using ou une référence d'assembly?) "

Que dois-je faire pour que visual studio reconnaisse l'emplacement de ces bibliothèques GAC? J'ai essayé de les copier dans windows \ system32 mais pas de joie là-bas ...

help! :)

NB: J'ai aussi essayé de travailler avec le machine.config, mais toujours pas de chance

Répondre

0

glisser/déposer les assemblages à c: \ windows \ montage sur votre ordinateur local où vous compilez.

+0

Comme je l'ai dit dans mon message, tous ces assemblages sont déjà dans le GAC - faire ce glisser-déposer ne fait qu'expliquer une erreur "ne peut pas créer/dupliquer 'quel que soit' quand ce fichier existe déjà" – alv

1

Résolu. J'ai eu besoin de modifier le web.config global dans le répertoire x86 (ainsi que la version x64) - la version x86 est évidemment celle que Visual Studio regardait lors de la compilation de l'application, alors que IIS regardait le x64 version du fichier web.config global lors de l'exécution de l'application.