Ошибка при сборке System.ValueTuple в проекте .NetStandard 2.0 - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть проект .NetStandard, в котором используется System.ValueTuple.

Он прекрасно работает в Visual Studio независимо от того, включаю ли я пакет nuget System.ValueTuple.

Однако в любом случае происходит сбойкогда я создаю его в team-city с ошибкой:

error CS8137: Cannot define a class or member that utilizes tuples because the compiler required type 'System.Runtime.CompilerServices.TupleElementNamesAttribute' cannot be found. Are you missing a reference?

Teamcity размещается в среде с последним .Net Core SDK и последним .NetFramework SDK.

Когда яизмените целевой фреймворк на .NetCoreApp2.0, который он собирает нормально.

Любые идеи относительно того, что может происходить?

Для справки, вот мой csproj:

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
    <TargetFrameworks>netstandard2.0</TargetFrameworks>
    <Version>$(VersionSuffix)</Version>
    <Authors>**********</Authors>
    <Product>**********</Product>
    <Description>**********</Description>
    <PackageTags>**********</PackageTags>
    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
    <Copyright>**********</Copyright>
    <PackageProjectUrl>http://**********</PackageProjectUrl>
    <PackageLicenseUrl>http://**********</PackageLicenseUrl>
    <PackageIconUrl>http://**********</PackageIconUrl>
</PropertyGroup>

<ItemGroup>
    <PackageReference Include="Google.Protobuf" Version="3.4.1" />
    <PackageReference Include="RabbitMQ.Client" Version="5.0.1" />
</ItemGroup>

<ItemGroup>
  <Folder Include="**********" />
</ItemGroup>

<ItemGroup>
  <ProjectReference Include="..\**********" />
</ItemGroup>

* * 1017

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Ошибка исчезла, когда я начал использовать DotNet Restore вместо Nuget Restore.

Понятия не имею почему.

0 голосов
/ 27 сентября 2018

Скорее всего, вам нужно добавить ссылку на System.ValueTuple.dll.Вы можете сделать это, установив пакет System.ValueTuple из nuget.

...