簡體   English   中英

天藍色錯誤部署無法解析此參考。 無法找到程序集System.Web.Http,版本= 4.0.0.0

[英]Deploying in azure error Could not resolve this reference. Could not locate the assembly System.Web.Http, Version=4.0.0.0

我正在嘗試在Azure中部署網站,但出現此錯誤:

D:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ Microsoft.Common.targets(1605,5):警告MSB3245:無法解決此引用。 無法找到程序集“ System.Web.Http,版本= 4.0.0.0,區域性=中性,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL”。 檢查以確保程序集在磁盤上。 如果您的代碼需要此引用,則可能會出現編譯錯誤。 [D:\\ home \\ site \\ repository \\ src \\ Presentation \\ Nop.Web.Framework \\ Nop.Web.Framework.csproj] Mvc \\ Api \\ AuthorizeApiAttribute.cs(13,53):錯誤CS0234:類型或名稱空間名稱' Http”在“ System.Web”命名空間中不存在(您是否缺少程序集引用?)

我檢查並在解決方案中激活了“復制本地”選項。 知道有什么問題嗎?

檢查Web.Config並確保您加載正確的版本,並確保在.NET 4.0或NuGet Microsoft.AspNet.WebApi.Core中引用System.Net.Http.dll 您使用的版本必須與web.config的版本匹配。

例如,用於Microsoft.AspNet.WebApi.Core 5.2.3的Nuget可能具有System.Web.Http如:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

確保對System.Net.Http.dll的引用與其他庫來自同一來源。 這應該是您要添加到的項目的bin文件夾。

還要確保您的packages.config文件具有該庫的引用:

  <?xml version="1.0" encoding="utf-8"?>
      <package id="System.Reflection.Extensions" version="4.3.0" targetFramework="portable45-net45+win8+wp8+wpa81" />
      <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="portable45-net45+win8+wp8+wpa81" />
      <package id="System.Net.Http" version="4.0.0" targetFramework="portable45-net45+win8+wp8+wpa81" />
    </packages>

如果沒有,請使用正確的目標框架如上所示添加它。

我相信,較新版本的.NET Framework(大於4.0)具有System.Net.Http。如果可以選擇,則可以簡單地升級.NET版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM