2014-10-06 100 views
0

我跟着this博客文章,我希望Nuget能够正常工作。它显然没有。我得到的错误,我所有的第三方的DLL,我想到的NuGet自动更新:Nuget包还原在TFS构建服务器上不起作用

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会为我恢复该包。

我不知道为什么它不是构建服务器上的功能。

有什么建议吗?

回答

1

尝试NugetRestore活动添加到TFS workfolw

enter image description here

注:

对于团队基础上场所和Visual Studio Team Services(以前的Team Foundation服务)建立2013,默认构建过程模板已经实现了NuGet包恢复工作流程,无需任何特殊配置。

+0

您有链接添加该链接吗? – Robert 2014-10-07 14:26:52

+0

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/bb358183-5552-4ee9-a6ef-528db24e65d0/how-to-use-the-nugetrestore-activity?forum=tfsbuild http://docs.nuget.org/docs/reference/package-restore-with-team-build – liorha 2014-10-07 14:46:16

0

我遇到了log4net nuget包的类似错误,我用另一种方式解决了它。可能这对某些人有用一天。

从TFS团队误差建设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.

原因

的NuGet包在引用该项目的包中的.csproj文件的路径无法找到

分辨率

编辑出现错误的项目的.csproj文件。 查找.csproj文件中的节点ItemGroup 您将看到HintPath指向一个文件夹,最像该文件夹包含解决方案名称的文件夹。 用<HintPath>..\..\Assemblies\3rd party\log4net\1.2.10.0\2.0\log4net.dll</HintPath>替换HintPath

您nuget软件包库可能不是log4net,而是不同的库。一个非常简单的方法是编辑解决方案中包含相同nuget软件包库的项目的.csproj文件,复制ItemGroup中nuget的引用并替换出现错误的项目。参考文件应该包含...\Assemblies\3rd party\ ...而不是您计算机上的物理文件位置