我正在尝试编写代码,从Web api操作中获取当前请求中的文件,然后将文件保存到服务器。此代码位于其自己的项目中,与主Web api项目分开。当代码运行时,我收到此错误:
无法加载文件或程序集&System; Web.Http,版本= 4.0.0.0, Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个 依赖。定位程序集的清单定义没有 匹配程序集引用。 (HRESULT异常:0x80131040)
这是应该捕获请求的自己项目中的代码:
public class Upload<T> where T : HttpRequestMessage
{
private readonly T _req;
// Constructor
public Upload()
{
}
public Upload(T t)
{
_req = t;
}
// METHODS
public async Task<HttpResponseMessage> SingleFile(string dirName, string typeDir)
{
// check request
if (!_req.Content.IsMimeMultipartContent())
{
return _req.CreateResponse(HttpStatusCode.UnsupportedMediaType);
}
// More code etc.
}
}
这是主Web api项目中的调用代码:
[HttpPost]
public HttpResponseMessage CreateProduct()
{
var up = new FileTools.Upload<HttpRequestMessage>(this.Request);
var message = up.SingleFile("test", "mytestDir"); // error appears here
return message.Result;
}
答案 0 :(得分:3)
看起来包含上传类的项目引用的是与Web应用程序不同的System.Web.Http版本。检查您的引用以确保它们引用相同的程序集。