我关注了this博客文章,我希望Nuget能够正常工作。它显然没有。我的所有第三方dll都出错,我希望NuGet自动更新:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\
Microsoft.WebApplication.targets (182): Could not copy the file "bin\AutoMapper.dll"
because it was not found.
我已正确设置所有内容,并确保解决方案已启用包恢复。如果我在本地删除一个包并构建,NuGet会为我恢复该包。
我不知道为什么它在构建服务器上没有功能。
任何建议?
答案 0 :(得分:1)
尝试将NugetRestore活动添加到TFS工作表
注意:
对于Team Foundation Build 2013内部部署和Visual Studio Team Services(以前称为Team Foundation Service),默认的构建过程模板已经实现了NuGet Package Restore工作流,无需任何特殊配置。
答案 1 :(得分:0)
我遇到了log4net nuget包的类似错误,我以不同的方式解决了它。可能有一天这对某人有用。
来自TFS Team Build 2015的错误
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\
Microsoft.WebApplication.targets (182): Could not copy the file "bin\Log4net.dll"
because it was not found.
<强>原因强>
无法找到.csproj文件中用于引用项目中包的nuget包的路径
解决强>
编辑出现错误的项目的.csproj文件。
在.csproj文件中查找节点ItemGroup
您将看到HintPath
指向一个文件夹,大多数文件夹包含解压缩程序的名称,以及它将提交DLL的位置。
将HintPath
替换为<HintPath>..\..\Assemblies\3rd party\log4net\1.2.10.0\2.0\log4net.dll</HintPath>
你的nuget包库可能不是log4net而是一个不同的库。一种非常简单的方法是在包含相同nuget包库的解决方案中编辑项目的.csproj文件,复制ItemGroup
中nuget的引用并替换具有错误的项目。该引用应该包含...\Assemblies\3rd party\ ...
而不是计算机上的物理文件位置