【发布时间】:2015-10-09 07:18:54
【问题描述】:
我已经通过 Visual Studio Online 的构建管道成功部署了基于 ASP.Net MVC Azure 的网站已有数周时间。然后我添加了一个 ApiController 类,Visual Studio 安装了一些相关的 NuGet 包。现在,当我签入并开始构建时,由于缺少 System.Web.Http dll,我遇到了失败。
我已尝试重新安装 NuGet 包并将丢失的 dll 标记为“复制本地”。还是不开心。
Build 步骤首先报告警告:
C:\程序文件 (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets (1819, 5) 无法解析此引用。找不到程序集 “System.Web.Http,版本=5.2.3.0,文化=中性, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"。检查到 确保程序集存在于磁盘上。如果需要此参考 根据您的代码,您可能会遇到编译错误。
然后它会报告一些错误并失败:
[解决方案名称][网站名称]\App_Start\WebApiConfig.cs (1, 18) 命名空间中不存在类型或命名空间名称“Http” 'System.Web'(您是否缺少程序集引用?)
我正在使用 Visual Studio 2015 RC 和 .Net 4.6(尽管降级到 v4.5.2 仍然会产生错误)。
现在我必须手动发布这个。请问大家有什么想法吗?
【问题讨论】:
-
通过更多调查,我现在可以看到 NuGet.exe 恢复命令忽略了 packages.config 中列出的一些包。为什么要这样做?
-
当您在 Visual Studio 中本地构建时,是 System.Web.Http 的 bin 文件夹中的 .DLL?
-
@ChrisArnold,你在使用 vNext 构建吗?如果是这样,请在下面查看我的回复。
标签: .net asp.net-mvc msbuild azure-devops nuget-package-restore