I am using MVC .NET in a distributed environment with CSLA and I can reference HttpPostedFileBase from one of my web layers (eg Website.MVC), but I cannot reference HttpPostedFileBase from a separate layer (lets call it OtherLayer.Web).
Any idea on what I need to do to be able to call HttpPostedFileBase ?
I am able to use HttpPostedFile in both layers – should I just use this instead?
The assembly references are basically the same – in Website.MVC I have:
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;
Whereas in my other layer i have:
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;
Make sure your project references the
System.Web.Abstractionsassembly which contains theHttpPostedFileBasetype.As confusing as it may seem, the
HttpPostedFiletype lives in a separate assembly (System.Web) but the same exact namespace.It is important to remember that the namespaces can span assemblies and the name of an assembly does not necessarily dictate the namespace of the types contained in it. There is no
System.Web.Abstractionsnamespace simply two assemblies that contain types in theSystem.Webnamespace.Once you have referenced both assemblies you can reference both types by their unqualified names with this single using statement: