Ошибка повторяющихся элементов компиляции при создании кода из добавления веб-ссылки в Rider

Я создаю основной API .NET, который использует веб-службу с Rider IDE.

Я создал новый csproj FooBar.Service и добавил веб-ссылку. Файл FooBar.Service.csproj выглядит следующим образом:

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

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <WCFMetadata Include="Service References" />
  </ItemGroup>

  <ItemGroup>
    <WCFMetadataStorage Include="Service References\FooBar" />
  </ItemGroup>

  <ItemGroup>
    <None Include="App.config" />
    <None Include="Service References\FooBar\FooBar.svcmap">
      <Generator>WCF Proxy Generator</Generator>
      <LastGenOutput>FooBar.cs</LastGenOutput>
    </None>
    <None Include="Service References\FooBar\FooBar.webref" />
    <None Include="Service References\FooBar\FooBar.wsdl" />
  </ItemGroup>

  <ItemGroup>
    <Compile Include="Service References\FooBar\FooBar.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>FooBar.svcmap</DependentUpon>
    </Compile>
  </ItemGroup>

  <ItemGroup>
    <Reference Include="System.ServiceModel" />
  </ItemGroup>

</Project>

Сгенерированный код кажется правильным, но у меня есть эта ошибка:

Были включены повторяющиеся элементы «Скомпилировать». Пакет SDK для .NET по умолчанию включает элементы «Компилировать» из каталога вашего проекта. Вы можете либо удалить эти элементы из файла проекта, либо установить для свойства EnableDefaultCompileItems значение false, если хотите явно включить их в файл проекта. Дополнительные сведения см. на странице https://aka.ms/sdkimplicititems. Повторяющиеся элементы: «Ссылки на службы\FooBar\FooBar.cs».

Я прочитал другой вопрос об этой проблеме: ответ заключается в том, что есть 2 элемента компиляции с одинаковым именем. Если я понимаю сообщение об ошибке, файл сначала добавляется по умолчанию, потому что он находится в папке .csproj, и добавляется снова по пункту <Compile Include="Service References\FooBar\FooBar.cs">.

Я предполагаю, что это ошибка генерации кода веб-службы Rider, но какой может быть обходной путь, не испортив автоматически сгенерированный код? Я знаю, что могу деактивировать флаг EnableDefaultCompileItems, но я я предпочитаю не делать этого, потому что я предпочитаю такое поведение.

Я попытался заменить Include на Update, как показано в этом ответе, но затем у меня есть куча ошибок компиляции, которые говорят : Имя типа или пространства имен "ServiceModel" не существует в пространстве имен "System" (вам не хватает ссылки на сборку?), хотя оно включено.


person Boiethios    schedule 23.05.2019    source источник
comment
У вас есть файл Directory.Build.props в папке решения?   -  person Lasse V. Karlsen    schedule 23.05.2019
comment
@LasseVågsætherKarlsen Нет, такого файла нет.   -  person Boiethios    schedule 23.05.2019
comment
@LasseVågsætherKarlsen Неважно, решение состояло в том, чтобы заменить Include на Update. Другая ошибка не имеет ничего общего с этой проблемой -_-. Не уверен, что мне делать, поскольку ответ, который я связал, не помечен как ответ: это дубликат, да?   -  person Boiethios    schedule 23.05.2019
comment
Сирм, ты решил эту проблему? Я сейчас с этим сталкиваюсь *(   -  person Andrew    schedule 15.08.2019
comment
@Andrew Решение есть: stackoverflow.com/questions/44126231/   -  person Boiethios    schedule 16.08.2019