2011-02-07 1 views
0

System.TypeLoadException: Impossible de charger le type 'System.Web.HttpContext' à partir de l'assembly 'System.Web, Version = 2.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a '.Impossible de charger le type "System.Web.HttpContext" à partir de l'assembly "System.Web"

using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.Web; 
using System.Xml.Linq; 

public class Example : 
{ 
XDocument doc = XDocument.Load(System.Web.HttpContext.Current.Server.MapPath("~/example.xml")); 
} 
+2

Avez-vous une référence à system.web? –

+0

Regardez la InnerException. –

+0

Vous devez accepter la réponse afin que les gens sachent que vous êtes maintenant bon ... –

Répondre

2

Bien sûr, si vous n'êtes pas dans une application Web, vous ne pouvez pas utiliser HttpContext.Current!

Vous pouvez vérifier si System.Web.HttpContext.Current est null ou non, il est disponible uniquement dans les pages Web ou les services Web.

+1

Merci, c'était le problème. – Chris

+0

La question de suivi est de savoir comment retourner un chemin relatif sans Server.MapPath en C#. – Chris

+0

étant donné que MapPath est relatif au répertoire virtuel actuel ou au site Web, cela n'a aucun sens de l'utiliser dans une application non Web. Si vous voulez simplement changer un chemin relatif en un chemin absolu dans n'importe quel emplacement du système de fichiers, Server.MapPath n'est PAS ce dont vous avez besoin. –

Questions connexes