我安装了POSTSHARP作为nuget包,我希望Visual Studio Online能够自动恢复它。
在构建之前必须恢复POSTSHARP。
我试图遵循这一点但没有成功:link
如何在构建之前在Visual Studio Online中运行脚本/命令?
答案 0 :(得分:2)
nuget.org上有关于如何使用TFS设置包还原的说明,包括Visual Studio Online:http://docs.nuget.org/docs/reference/package-restore-with-team-build
它提到VSO的默认构建过程模板已经实现了NuGet Package Restore工作流程。因此,据推测,只有在自定义模板时才需要进行其他设置。
建议的方法是创建一个简单的MSBuild项目文件,用于构建解决方案。您可以在那里包含所有必需的目标(例如,构建,重建,清理),只需在解决方案文件上调用MSBuild并指定相应的目标。
另外为包恢复创建一个目标 - 它将调用NuGet.exe restore MySolution.sln
命令。共同的构建目标将取决于此。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0"
DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutDir>$(MSBuildThisFileDirectory)bin</OutDir>
<Configuration>Release</Configuration>
<ProjectProperties>
OutDir=$(OutDir);
Configuration=$(Configuration);
</ProjectProperties>
</PropertyGroup>
<ItemGroup>
<Solution Include="$(MSBuildThisFileDirectory)src\*.sln" />
</ItemGroup>
<Target Name="RestorePackages">
<Exec Command=""$(MSBuildThisFileDirectory)tools\NuGet\NuGet.exe" restore "%(Solution.Identity)"" />
</Target>
<Target Name="Build" DependsOnTargets="RestorePackages">
<MSBuild Targets="Build"
Projects="@(Solution)"
Properties="$(ProjectProperties)" />
</Target>
<!-- other targets... -->
</Project>