2009-02-18 6 views
0

En cours de développement d'une application Web ASP.NET avec VS2008. J'ai arrêté le développement pendant quelques semaines, et quand je suis revenu, mon projet expose le problème suivant:Asp.net Dev Server utilisant une mauvaise version du framework?

L'ensemble du projet compile bien (tous ciblés sur Framework3.5SP1). Cependant, lorsque je le lance (avec ASP.NET Development Server), je reçois un message (du navigateur) indiquant une erreur de compilation "Message d'erreur du compilateur: CS0234: Le type ou le nom de l'espace de noms" DirectoryServices "n'existe pas dans le namespace 'System' (vous manque une référence d'assemblage?) »

au bas de la page d'erreur, les informations de version: informations sur la version: Microsoft .NET Framework Version: 2.0.50727.3053; Version ASP.NET: 2.0.50727.3053

Le serveur utilise .NET Framework Version 2? Mais tous mes projets sont ciblés à 3,5

Y a-t-il un moyen simple d'empêcher cela de se produire?

Je dois ajouter:

.net version du framework réinstallée 3.5 + sp1, toujours même question. important de noter ici est que je n'utilise pas IIS complet, juste le "serveur de développement Asp.net" fourni avec VS2008. (CTRL + F5/Lancement)

Répondre

4

La raison étant .NET 3.5 n'est pas un cadre autonome comme v2.0 ou v1.1. C'est juste une extension du framework 2.0. L'extension fournit aux développeurs de nouvelles fonctionnalités comme les types anonymes, les méthodes d'extension, les expressions Lambda et bien sûr LINQ .... et AJAX est maintenant intégré. Par conséquent, vous utilisez simplement 2.0 dans IIS.

Vous devriez essayer d'installer .NET Framework 3.5 sur ce serveur, le serveur IIS utilisera automatiquement la bonne version.

Cordialement, Sem

+0

réinstallé. Net Framework version 3.5 + SP1, toujours le même problème. important de noter ici est que je n'utilise pas IIS complet, juste le "serveur de développement Asp.net" fourni avec VS2008 – slither

+0

juste une pensée, mais pouvez-vous essayer d'ajouter System.DirectoryServices à votre application. Somethimes VS pense qu'il l'a copié mais ne l'a pas fait. Je l'ai juste essayé sur ma machine et cela fonctionne mais je dois référencer System.DirectoryServices. – user29964

+1

Hey merci pour l'idée. Je viens de trouver que ma référence System.DirectoryServices était "Copy Local = False". a changé cela en "Copier Local = Vrai", et maintenant ça marche bien! :) – slither

0

Juste deviner ici. Se pourrait-il que l'un de soit votre machine de développement ou le serveur a mis à niveau vers .Net 3.5 SP1 tandis que l'autre n'a pas?

+0

no. tout est sur la même machine. – slither

0

Les chances sont que votre machine web.config fait référence à 2.0. Vous pouvez le reconfigurer à 3.5 via la console de gestion IIS. Ou vous pouvez modifier l'élément < assemblies> dans votre fichier web.config pour ajouter < clear /> et spécifier explicitement < add assembly> pour chaque assembly 3.5.

Questions connexes