【问题标题】:NuGet Package Restore: Visual Studio Online & POSTSHARPNuGet 包还原:Visual Studio Online 和 POSTSHARP
【发布时间】:2014-04-17 05:12:50
【问题描述】:

我将 POSTSHARP 作为 nuget 包安装,我希望 Visual Studio Online 自动恢复它。

POSTSHARP 必须在构建之前恢复。

我正在尝试没有成功:link

如何在构建之前在 Visual Studio Online 中运行脚本/命令?

【问题讨论】:

    标签: postsharp azure-devops nuget-package-restore


    【解决方案1】:

    在 nuget.org 上有关于如何使用 TFS 设置包还原的说明,包括 Visual Studio Online:http://docs.nuget.org/docs/reference/package-restore-with-team-build

    它提到 VSO 的默认构建过程模板已经实现了 NuGet 包还原工作流。因此,据推测,只有在自定义模板时才需要进行额外设置。

    建议的方法是创建一个简单的 MSBuild 项目文件,用于构建解决方案。您可以在其中包含所有必需的目标(例如 Build、Rebuild、Clean),这些目标只会在您的解决方案文件上调用 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="&quot;$(MSBuildThisFileDirectory)tools\NuGet\NuGet.exe&quot; restore &quot;%(Solution.Identity)&quot;" />
      </Target>
    
      <Target Name="Build" DependsOnTargets="RestorePackages">
        <MSBuild Targets="Build"
                 Projects="@(Solution)"
                 Properties="$(ProjectProperties)" />
      </Target>
    
      <!-- other targets... -->
    
    </Project>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 2016-03-19
      • 2016-10-07
      • 2014-12-06
      • 2015-03-09
      • 2015-03-23
      相关资源
      最近更新 更多