Question

Nous avons mis en place un code client SOAP sur notre site ASP.NET qui appelle un service à distance. La mise en œuvre a été essentiellement fait en utilisant Visual Studio Assistant « Ajouter une référence Web », en ajoutant une bonne « en utilisant remote.service.namespace » au code et appeler le service.

code fonctionne parfaitement localement (à partir de Visual Studio), mais échoue sur le serveur Web de production avec manquant Erreur de référence d'assemblage:

  

CS0246: Impossible de trouver le type ou le nom d'espace de noms « de remote.service » (vous manque une directive à l'aide ou une référence d'assemblage?)

Je soupçonne sournoise que je ne suis pas tout correctement le déploiement, peut-être quelqu'un peut indiquer ce qui est que je suis absent là?

Merci!

Informations complémentaires:

Le projet est un site Web.

ASP.NET version 2.0 installé et utilisé comme une cible à la fois sur boîte de dev et le serveur de production.

fichier proxy généré par WSDL.exe est déployé dans le dossier racine du site, même dossier dans lequel réside la page. espace de noms global (par défaut) a été utilisé pour la génération de classe proxy.

Était-ce utile?

La solution

Si ce projet est de WebSite, le fichier proxy doit résider dans le dossier App_Code

Autres conseils

Vous avez mentionné le dll proxy est placé sur « le dossier racine du site Web, où réside la page ».

Vous devez placer le dll dans le dossier « bin ». Si le dossier n'est pas créer là il.

La pile client de service Web dans .NET fait la génération d'exécution du client proxy (des annotations dans la classe générée par wsdl.exe / svcutil.exe). ce fichier généré se termine généralement dans un de vos serveurs répertoires temporaires (il y a un sous l'arbre principal de fenêtres quelque part). Le problème est que le compte utilisateur ASP.NET ne dispose pas de droits d'écriture dans ce répertoire temp particulier, mais ne remarque pas au moment où il écrit le fichier, si vous vous retrouvez avec une erreur avec elle en essayant de charger le produit fichier retour. Vous pouvez retrouver dans la situation en fonction de l'ordre d'installation exacte sur votre serveur. Une fois que vous trouvez le bon répertoire, vous pouvez simplement fixer les perms NTFS sur le répertoire pour résoudre le problème.

Avez-vous copié le dossier App_WebReferences et tout son contenu au serveur?

Est-ce que d'autres éléments de votre site ASP.NET?

Est-ce que votre site cible 3.5 et éventuellement 3.5 n'est pas installé sur le serveur de production?

Est-ce un site Web ou un projet d'application Web? Je parie que c'est un site Web.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top