2010-09-25 4 views
0

J'ai développé un webservice asmx avec Visual Studio et je le déploie sur IIS 7 qui a 3.5 Framework en copiant tous les fichiers.Mon webservice asmx fonctionne localement mais pas lorsqu'il est déployé sur IIS distant 7

Lors du test, il dit

Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Je ne me [System.Web.Script.Services.ScriptService] donc je ne comprends pas pourquoi il tente de charger System.Web.Extensions.

Je change dans Visual Studio .NET de 2 à 3,5 mais nous avons eu une autre erreur:

Could not load file or assembly 'WebServiceTest' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Comment résoudre ce problème? Remarque: Je n'utilise aucun autre assembly/lib. J'apprends simplement le webservice, donc c'est très simple: je crée un webservice Test.asmx avec une méthode qui utilise une classe Test.cs dans le même espace de noms WebServiceTest. Cela fonctionne localement.

Enfin j'ai commencé à partir de zéro à nouveau maintenant il fonctionne, je pense que je l'ai désorienté d'espace de noms renommer, classe, etc.

Répondre

1

Peut-être que vous utilisez un assemblage tiers qui repose sur System.Web.Extensions. Assurez-vous que cet assembly n'est pas référencé explicitement ou implicitement dans votre projet. Normalement, la version de cet assembly est 3.5.0.0. À partir du message d'erreur, il semble que votre projet utilise la version 1.0.61025.0 qui est une ancienne version. Essayez de regarder chaque assemblage référencé pour voir ce qui utilise cette ancienne version. Vous devrez peut-être le déployer sur le serveur cible.

+0

Je n'utilise rien d'autre que j'apprends le webservice donc c'est très simple: je crée un webservice Test.asmx avec une méthode qui utilise une classe Test.cs dans le même espace de noms WebServiceTest. – user310291

+0

Dans quel cadre cible votre application? Quelles références avez-vous? –

+0

Comme je l'ai ajouté dans le message principal, j'ai ciblé .NET 2 et ensuite 3.5 étant le même que le serveur. – user310291

1

Le serveur dispose-t-il d'extensions Web INSTALLED? Je pense qu'ils étaient une installation supplémentaire avant 4.0. Ou: avez-vous également copié le System.Web.Extensions.dll dans la version correcte? Sur votre ordinateur, il peut être dans le GAC et non dans le dossier bin. Cela dit, vous ne devriez pas utiliser cela - utilisez WCF pour exposer les services Web à partir de .NET 3.5. Vous entraînez essentiellement la technologie obsolète/à la retraite.

+0

Merci Enfin, j'ai recommencé à zéro maintenant ça marche, je pense que je n'ai pas concordé en renommant espace de noms, classe etc. – user310291

Questions connexes