Build.proj
文件作为自定义目标的一部分。Build.proj
并将以下内容放入其中:<?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=""$(ToolsHome)NuGet\NuGet.exe" restore "%(Solution.Identity)"" />
</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>
另外,您还可以从自定义Pre-Build脚本中调用它。
或者,自定义XAML模板并添加一个Foreach循环来调用:
nuget.exe restore path\to\solution.sln
在解决方案文件夹的根路径下添加一个build.proj文件。(可以在这里找到build.proj文件的内容)
在解决方案文件夹的根路径下创建一个名为tools的文件夹。在tools文件夹下创建一个NuGet子文件夹,在tools\NuGet路径下下载并保存nuget.exe。
将nuget.config、.tfignore、build.proj和tools\NuGet\nuget.exe检入TFS版本控制。
然后您将在TFS构建过程中成功恢复NuGet软件包。