C # - Non posso riferire HttpPostedFileBase
-
19-09-2019 - |
Domanda
Sto usando MVC NET in un ambiente distribuito con CSLA e I possono di riferimento HttpPostedFileBase da uno dei miei strati web (ad esempio Website.MVC), ma I non riesco a riferimento HttpPostedFileBase da uno strato separato (consente di chiamare OtherLayer.Web).
Qualche idea su quello che devo fare per essere in grado di chiamare HttpPostedFileBase? Sono in grado di utilizzare HttpPostedFile in entrambi gli strati - devo solo usare questo al posto
?I riferimenti di montaggio sono fondamentalmente la stessa - in Website.MVC ho:
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;
considerando che nel mio altro strato ho:
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;
Soluzione
Assicurati che il progetto fa riferimento l'assemblea System.Web.Abstractions
che contiene il HttpPostedFileBase
tipo .
Per quanto confuso come può sembrare, il HttpPostedFile
tipo vive in un assembly separato (System.Web
), ma lo stesso spazio dei nomi esatto.
E 'importante ricordare che gli spazi dei nomi possono estendersi assemblee e il nome di un assembly non necessariamente dettare lo spazio dei nomi dei tipi di contenuti in esso. Non v'è alcun System.Web.Abstractions
namespace semplicemente due assembly che contengono tipi nello spazio dei nomi System.Web
.
Una volta che avete fatto riferimento entrambi i gruppi è possibile fare riferimento entrambi i tipi con i loro nomi non qualificati con questo singolo istruzione using:
using System.Web;
Altri suggerimenti
Assicurati che il progetto fa riferimento l'assemblea System.Web.Abstractions che contiene il tipo di HttpPostedFileBase.
Grazie, Andrew Hare, che ha fatto il trucco, ma credo che da .Net 4.0 e così via, System.Web.Abstractions è deprecato, e si dovrebbe aggiungere il riferimento ai System.Web invece.
Nel mio caso, che era l'ultima soluzione, dopo che
using System.Web;
funzionato, e quindi, HttpPostedFileBase è stato riconosciuto.
Grazie.