VSTS:##[错误]未找到提供的环境变量的值

VSTS: ##[error]No value was found for the provided environment variable

我花了很多时间试图弄清楚这一点,但就是做不到。 FWIW,这个项目从本地命令行和 TeamCity 打包得很好。它也是基于 VSTS 构建的,但此错误使任务失败。 Nuget pack 任务在 visualstudio.com build 中寻找什么环境变量?

这里是相关文件和任务配置:

package.nuspec:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
  <metadata>
    <id>VDS.AppCore.Formatters</id>
    <version>$version$</version>
    <title>VDS AppCore Formatters</title>
    <authors>Visual Data Solutions, Inc.</authors>
    <owners>Visual Data Solutions, Inc.</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>VDS AppCore Formatters</description>
    <copyright>Copyright © Visual Data Solutions, Inc. 2010-2017</copyright>
  </metadata>
  <files>
    <file src="$SolutionDir$VDS.AppCore.Formatters\bin$Configuration$\VDS.AppCore.Formatters.dll" target="lib\net45" />
    <file src="$SolutionDir$VDS.AppCore.Formatters\bin$Configuration$\VDS.AppCore.Formatters.pdb" target="lib\net45" />
    <file src="$SolutionDir$VDS.AppCore.Formatters\**\*.cs" target="src" />
  </files>
</package>

.csproj

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{BED8C9D5-954F-47AA-9BDA-531D125209C0}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>VDS.AppCore.Formatters</RootNamespace>
    <AssemblyName>VDS.AppCore.Formatters</AssemblyName>
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="CsvFormatter.cs" />
    <Compile Include="DataFormatters.cs" />
    <Compile Include="DefaultFormatters.cs" />
    <Compile Include="Formatters.cs" />
    <Compile Include="IDataFormatter.cs" />
    <Compile Include="IDataFormatters.cs" />
    <Compile Include="IFlatFormatter.cs" />
    <Compile Include="IFormatters.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="XlsFormatter.cs" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

如有任何意见,我们将不胜感激。这让我抓狂,并且阻止我将我们的构建过程从本地 TeamCity 转移到云上的 vsts,这是我们当前的要求。我真的不想创建 TeamCity VM。 :)

根据评论请求构建日志:

2017-08-16T03:14:26.4967581Z ##[section]Starting: NuGet pack Formatters nuspec
2017-08-16T03:14:26.4967581Z ==============================================================================
2017-08-16T03:14:26.4967581Z Task         : NuGet
2017-08-16T03:14:26.4967581Z Description  : Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Package Management and MyGet.
2017-08-16T03:14:26.4967581Z Version      : 2.0.6
2017-08-16T03:14:26.4967581Z Author       : Microsoft Corporation
2017-08-16T03:14:26.4967581Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=613747)
2017-08-16T03:14:26.4977585Z ==============================================================================
2017-08-16T03:14:26.9697601Z [command]C:\Windows\system32\chcp.com 65001
2017-08-16T03:14:26.9787594Z Active code page: 65001
2017-08-16T03:14:26.9917604Z Attempting to pack file: d:\a\s\TeamCity\Build\VDS.AppCore.Formatters\Package.nuspec
2017-08-16T03:14:26.9967613Z [command]d:\a\_tool\NuGet.0.0\x64\nuget.exe pack d:\a\s\TeamCity\Build\VDS.AppCore.Formatters\Package.nuspec -NonInteractive -OutputDirectory d:\a\a -Properties Configuration=Debug;SolutionDir=d:\a\s\;ArtifactDir=d:\a\a;version=2.0.1.71;Platform=AnyCPU -version 2.0.1.71 -Verbosity Detailed
2017-08-16T03:14:27.4699931Z NuGet Version: 4.0.0.2283
2017-08-16T03:14:27.4777604Z Attempting to build package from 'Package.nuspec'.
2017-08-16T03:14:27.6887611Z 
2017-08-16T03:14:27.6907601Z Id: VDS.AppCore.Formatters
2017-08-16T03:14:27.6907601Z Version: 2.0.1.71
2017-08-16T03:14:27.6907601Z Authors: Visual Data Solutions,  Inc.
2017-08-16T03:14:27.6907601Z Description: VDS AppCore Formatters
2017-08-16T03:14:27.6907601Z Dependencies: None
2017-08-16T03:14:27.6907601Z 
2017-08-16T03:14:27.6937601Z Added file '[Content_Types].xml'.
2017-08-16T03:14:27.6937601Z Added file '_rels/.rels'.
2017-08-16T03:14:27.6937601Z Added file 'lib/net45/VDS.AppCore.Formatters.dll'.
2017-08-16T03:14:27.6937601Z Added file 'lib/net45/VDS.AppCore.Formatters.pdb'.
2017-08-16T03:14:27.6937601Z Added file 'package/services/metadata/core-properties/d049e0823aea40cdba6267568d619a5d.psmdcp'.
2017-08-16T03:14:27.6937601Z Added file 'src/CsvFormatter.cs'.
2017-08-16T03:14:27.6937601Z Added file 'src/DataFormatters.cs'.
2017-08-16T03:14:27.6937601Z Added file 'src/DefaultFormatters.cs'.
2017-08-16T03:14:27.6937601Z Added file 'src/Formatters.cs'.
2017-08-16T03:14:27.6937601Z Added file 'src/IDataFormatter.cs'.
2017-08-16T03:14:27.6937601Z Added file 'src/IDataFormatters.cs'.
2017-08-16T03:14:27.6937601Z Added file 'src/IFlatFormatter.cs'.
2017-08-16T03:14:27.6937601Z Added file 'src/IFormatters.cs'.
2017-08-16T03:14:27.6937601Z Added file 'src/Properties/AssemblyInfo.cs'.
2017-08-16T03:14:27.6937601Z Added file 'src/XlsFormatter.cs'.
2017-08-16T03:14:27.6937601Z Added file 'VDS.AppCore.Formatters.nuspec'.
2017-08-16T03:14:27.6937601Z 
2017-08-16T03:14:27.6937601Z Successfully created package 'd:\a\a\VDS.AppCore.Formatters.2.0.1.71.nupkg'.
2017-08-16T03:14:27.7427599Z ##[section]Finishing: NuGet pack Formatters nuspec

它是由 NuGet 包任务中的 环境变量 选项引起的。

此处应使用变量而不用$。所以你应该直接使用PackageVersion