Question

J'utilise MVC .NET dans un environnement distribué avec AAPC et I puis Référence HttpPostedFileBase d'un de mes couches web (par exemple Website.MVC), mais je ne référence HttpPostedFileBase d'une couche séparée (permet de l'appeler OtherLayer.Web).

Une idée sur ce que je dois faire pour être en mesure d'appeler HttpPostedFileBase? Je suis en mesure d'utiliser HttpPostedFile dans les deux couches - dois-je utiliser ce lieu

?

Les références d'assemblage sont fondamentalement les mêmes - en Website.MVC je:

namespace Website.Mvc.Controllers
{
  using System;
  using System.Collections;
  using System.Collections.Generic;
  using System.Web.Mvc;
  using System.Web;
  using System.IO;
  using PetOrganizer.Mvc.Helpers;
  using TrupanionPetInsurance.Web;

Alors que dans mon autre couche j'ai:

namespace OtherLayer.Web
{
  using System;
  using System.Collections;
  using System.Collections.Generic;
  using System.Collections.Specialized;
  using System.Data;
  using System.Data.SqlClient;
  using System.IO;
  using System.Net.Mail;
  using System.Text;
  using System.Text.RegularExpressions; 
  using System.Web;
  using System.Web.Mvc;
  using System.Web.Security;
  using System.Xml;
  using System.Xml.Serialization;
  using Csla;
  using iTextSharp.text;
  using iTextSharp.text.pdf;
  using TruDat.BusinessLayer;
  using TruDat.BusinessLayer.Billing;
  using TruDat.BusinessLayer.Data;
  using TruDat.BusinessLayer.Utility;
  using TrupanionPetInsurance.Web.EmailTemplateParser;
  using TruDat.BusinessLayer.DataServices;
Était-ce utile?

La solution

Assurez-vous que votre projet fait référence à l'ensemble de System.Web.Abstractions qui contient le HttpPostedFileBase Type .

confusion que cela puisse paraître, le HttpPostedFile le type vit dans un ensemble séparé (System.Web) mais le même espace de noms précis.

Il est important de se rappeler que les namespaces peuvent couvrir les ensembles et le nom d'un ensemble ne dicte pas nécessairement l'espace de noms des types contenus. Il n'y a pas System.Web.Abstractions namespace simplement deux ensembles qui contiennent des types dans l'espace de noms System.Web.

Une fois que vous avez référencé les deux ensembles, vous pouvez référencer les deux types par leurs noms non qualifiés avec cette seule déclaration en utilisant:

using System.Web;

Autres conseils

  

Assurez-vous que votre projet fait référence à l'ensemble de System.Web.Abstractions qui contient le type de HttpPostedFileBase.

Merci, Andrew Hare, qui a fait l'affaire, mais je crois que de .Net 4.0 et ainsi de suite, System.Web.Abstractions est obsolète, et vous devez ajouter une référence à la place System.web.

Dans mon cas, ce fut la solution ultime, après que

using System.Web;

travaillé, et donc HttpPostedFileBase a été reconnu.

Merci.

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