我已经成功地通过Visual Studio Online的构建管道部署了基于ASP.Net MVC Azure的网站数周。然后我添加了一个ApiController类,Visual Studio安装了一些相关的NuGet包。现在,当我签入并且构建开始时,由于缺少System.Web.Http dll而导致失败。
我尝试重新安装NuGet包,并将缺少的dll标记为“Copy Local”。仍然没有快乐。
构建步骤首先报告警告:
C:\ Program Files (x86)\ MSBuild \ 14.0 \ bin \ Microsoft.Common.CurrentVersion.targets(1819, 5)无法解析此引用。无法找到程序集 “System.Web.Http,Version = 5.2.3.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL“。检查到 确保程序集存在于磁盘上。如果需要此引用 通过您的代码,您可能会遇到编译错误。
然后它会报告许多错误并失败:
[Solution Name] [Website Name] \ App_Start \ WebApiConfig.cs(1,18) 类型或命名空间名称'Http'在命名空间中不存在 'System.Web'(您是否缺少程序集引用?)
我正在使用Visual Studio 2015 RC和.Net 4.6(虽然下降到v4.5.2仍会产生错误)。
现在我必须手动发布此内容。有人有任何想法吗?
答案 0 :(得分:1)
首先,请确保可以在.proj文件中找到以下内容:
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
<Private>True</Private>
</Reference>
其次,请在Visual Studio Build步骤中选中Restore NuGet Packages复选框。 (假设你正在使用build vNext)
答案 1 :(得分:0)
我发现Visual Studio Online正在寻找源代码存储库中的nuget包引用。通过检查丢失的dll,我能够解决这些错误。
例如:
\包\ Microsoft.AspNet.WebApi.Core.5.2.3 \ lib中\ net45 \ System.Web.Http.dll