2014-02-09 2 views
1

MVC4 테스트 프로젝트를 사용하여 Azure Media Services에 파일을 업로드하려고합니다.C# Azure MediaServices 파일을 업로드 할 때 오류가 발생합니다.

CloudMediaContext를 잘 만들 수 있습니다. 또한 IAsset을 만들고 그 안에 IAssetFile을 만들 수 있습니다.

Server Error in '/' Application. 

Could not load file or assembly 'Microsoft.WindowsAzure.Storage, Version=3.0.2.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) 

내가 오류가 자신의 파일을 업로드 할 수 없었던 MVC4 내에 있는지 확실하지 않다 : 나는 그것에 새로운 파일을 업로드하려고 할 때, 나는 예외 다음 얻을 그러나 , 지시기? 오류에 따르면,

이것은이다 ... 나는 일부 누락 된 참조 또는 어셈블리를 가지고 있지만, 내가 추가 한 유일한 것은 푸른 MediaServices .NET SDK를 설치 Azure.MediaServices에 NuGet 패키지입니다 HomeController 업로드에 대한 코드 :

[HttpPost] 
public ActionResult Upload(HttpPostedFileBase file) 
{ 
    string localStorage = Server.MapPath("~/UploadedMedia"); 
    string uploadedFileName = file.FileName; 
    if (!Directory.Exists(localStorage)) 
     Directory.CreateDirectory(localStorage); 
    file.SaveAs(string.Format(@"{1}\{0}", file.FileName, localStorage)); 
    _mediaServicesContext = new MediaServicesContext(); 
    _mediaServicesContext.UploadFile(string.Format(@"{1}\{0}", file.FileName, localStorage)); 

    return View(new UploadModel() { FileName = uploadedFileName, Post = true, Result = true }); 
} 

그리고 이것은 내 MediaServices 클래스 (작업을하고)있다

public class MediaServicesContext 
{ 
    #region ATTRIBUTES 
    private const string MEDIACONTEXTNAMEKEY = "MediaServiceAccountName"; 
    private const string MEDIACONTEXTPASSKEY = "MediaServiceAccountAccessKey"; 
    private const string MEDIASTORAGENAMEKEY = "StorageAccountName"; 
    private const string MEDIASTORAGEPASSKEY = "StorageAccountAccessKey"; 

    private readonly CloudMediaContext _mediaContext; 
    #endregion 

    #region CTORS 
    public MediaServicesContext() 
    { 
     _mediaContext = new CloudMediaContext(accountName: ConfigurationManager.AppSettings[MEDIACONTEXTNAMEKEY], 
               accountKey: ConfigurationManager.AppSettings[MEDIACONTEXTPASSKEY]); 
    } 
    #endregion 

    #region PROPERTIES 
    public CloudMediaContext MediaContext 
    { 
     get { return _mediaContext; } 
    } 
    #endregion 

    #region METHODS 
    public void UploadFile(string path) 
    { 
     // Create a .NET console app 
     // Set the project properties to use the full .NET Framework (not Client Profile) 
     // With NuGet Package Manager, install windowsazure.mediaservices 
     // add: using Microsoft.WindowsAzure.MediaServices.Client; 
     var uploadFilePath = path; 
     var context = _mediaContext; 
     var uploadAsset = context.Assets.Create(Path.GetFileNameWithoutExtension(uploadFilePath), AssetCreationOptions.None); 
     var assetFile = uploadAsset.AssetFiles.Create(Path.GetFileName(uploadFilePath)); 
     assetFile.Upload(uploadFilePath); 
    } 
    #endregion 
} 

답변

1

들어 어떤 이유로 든 내 문제가 해결되었습니다. NuGet 패키지 매니저 콘솔에서

, 나는 다음과 같은 입력 :

PM> Install-Package WindowsAzure.Storage 

이것은 Microsoft.WindowsAzure.Storage 의존성을 업데이트 한 것으로 보인다 내 프로그램이 제대로 작동 할 수 있습니다. 매우 이상한 Microsoft.

관련 문제