Я использую.NET MVC в распределенной среде с CSLA, и я могу сослаться на HttpPostedFileBase от одного из моих веб-слоев (например, Веб-сайт. MVC), но я не могу сослаться на HttpPostedFileBase от отдельного слоя (позволяет, называют это OtherLayer. Сеть).
Какая-либо идея о том, что я должен сделать, чтобы быть в состоянии назвать HttpPostedFileBase? Я в состоянии использовать HttpPostedFile в обоих слоях - я должен просто использовать это вместо этого?
Ссылки на сборки являются в основном тем же - в Веб-сайте. MVC я имею:
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;
Принимая во внимание, что в моем другом слое я имею:
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;
Убедитесь, что ваш проект ссылается на сборку System.Web.Abstractions
, которая содержит тип HttpPostedFileBase
.
Как ни запутанно это может показаться, тип HttpPostedFile
находится в отдельной сборке ( System.Web
), но в том же точном пространстве имен.
Важно помнить, что пространства имен могут охватывать сборки и имя сборка не обязательно диктует пространство имен содержащихся в ней типов. Не существует пространства имен System.Web.Abstractions
, просто две сборки, содержащие типы в пространстве имен System.Web
.
После того, как вы указали обе сборки, вы можете ссылаться на обе типы по их неполным именам с помощью этого единственного оператора using:
using System.Web;