如何在TFS构建中获取nuget恢复 [英] How to get nuget restore in TFS build

查看:318
本文介绍了如何在TFS构建中获取nuget恢复的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法使其工作TFS构建。这是nuget恢复问题。 Nuget不恢复参考dll文件。

I can't make it work TFS build. It is nuget restore issue. Nuget is not restoring reference dll files.

这里是belwo我的构建配置。请告诉我如何进行这项工作。

Here is belwo my build configuration. Please advise me how I can make this works.

推荐答案

根据此博文<在Nuget的网站上,你可以使用你提到的命令行,但它必须是一个自定义目标使用 Build.proj 文件的一部分。

您需要添加 Build.proj 并将其作为内容:

You need to add a Build.proj and put this as the contents:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0"
         DefaultTargets="Build"
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <OutDir Condition=" '$(OutDir)'=='' ">$(MSBuildThisFileDirectory)bin\</OutDir>
    <Configuration Condition=" '$(Configuration)'=='' ">Release</Configuration>
    <SourceHome Condition=" '$(SourceHome)'=='' ">$(MSBuildThisFileDirectory)src\</SourceHome>
    <ToolsHome Condition=" '$(ToolsHome)'=='' ">$(MSBuildThisFileDirectory)tools\</ToolsHome>
  </PropertyGroup>

  <ItemGroup>
    <Solution Include="$(SourceHome)*.sln">
      <AdditionalProperties>OutDir=$(OutDir);Configuration=$(Configuration)</AdditionalProperties>
    </Solution>
  </ItemGroup>

  <Target Name="RestorePackages">
    <Exec Command="&quot;$(ToolsHome)NuGet\NuGet.exe&quot; restore &quot;%(Solution.Identity)&quot;" />
  </Target>

  <Target Name="Clean">
    <MSBuild Targets="Clean"
             Projects="@(Solution)" />
  </Target>

  <Target Name="Build" DependsOnTargets="RestorePackages">
    <MSBuild Targets="Build"
             Projects="@(Solution)" />
  </Target>

  <Target Name="Rebuild" DependsOnTargets="RestorePackages">
    <MSBuild Targets="Rebuild"
             Projects="@(Solution)" />
  </Target>

</Project>

或者,您可以从自定义预构建脚本

或者,自定义XAML模板并添加一个Foreach循环来调用:

Or, customise the XAML template and add a Foreach loop to invoke:

nuget.exe restore path\to\solution.sln

在构建定义的每个解决方案。

on each solution in the build definition.

这篇关于如何在TFS构建中获取nuget恢复的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆