j'ai dû transformer un site ASP créé à partir d'un système de fichier en projet C# d'application Web.
Après avoir corrigé tous les problèmes de référence, etc, je me retrouve avec une erreur en éxécution mais pas en compilation.
En fait j'ai une référence à un service Web dans mon projet, dans un fichier .cs qui est placé sous App_Code j'ai une partie du code qui utilise le service web. Les namespaces sont bien reconnus, les classes utilsées sont correctement reconnues. Je n'ai aucune erreur de compilation.
Lors de l'éxécution, il me sort l'erreur suivante :
CS0246: Le type ou le nom d'espace de noms 'SaisieWebSrvObj' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)
J'ai parcouru les forums et tentés maintes solutions or je ne parviens pas à comprendre quelle est l'erreur.
devant tant d'empressement , j'ai lutté, et ai été bien conseillé par un collègue. En fait mon problème, a été réglé par "l'externalisation" de la référence...
J'ai dû créer un projet externe, y insérer une référence de service sur mon WebService, puis compiler le tout.
Une copie en local de la dll créée mise dans le répertoire bin, ainsi qu'une copie de la dll System.ServiceModel.dll et tout est ok (la copie local à "true" sur cette référence ne faisait aucune copie...). Ensuite dans mon projet Web, j'ai fais une référence à la dll "contenant" la référence au WebService, et là c'est bon.
Je n'ai pas d'explication, du pourquoi, la seule piste que j'ai c'est que cette dll (ServiceModel.dll) vient avec le framework 3.0. Peut-être que ça pose un problème à IIS qui est paramétré sur 2.0 (normal...)