[英]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.