0
我正在嘗試編寫代碼,它將從web api動作的當前請求中抓取一個文件,然後將該文件保存到服務器。此代碼位於與主Web api項目分離的自己的項目中。當代碼運行我得到這個錯誤:從外部代碼抓取當前web api請求
Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from 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.
}
}
這是從主網頁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;
}
你是對的。屬性選項卡顯示運行時版本似乎相同,但屬性選項卡最底部的版本號不同。我最終不得不將web api 2.2 nuget包導入到單獨的項目中,以獲得與之匹配的版本號。 – user1206480 2014-08-28 01:53:13