Эквивалент ProjectReference, который не создает бинарную зависимость - PullRequest
1 голос
/ 11 октября 2019

Можно ли с помощью .NET Core SDK настроить график зависимости сборки, например, используя ProjectReference без фактической ссылки и , не корректируя файл решения?

В некоторых деталях у меня есть 2 проекта Service и Client. Проект Service создает файл API Swagger / Open. Проект Client представляет собой пакет NuGet, который использует сгенерированный файл для создания кода на C #. Я хотел бы дать MSBuild команду перестроить Service, если она изменится каждый раз, когда собирается ClientИспользование ProjectReference сделало бы жесткую ссылку и включило бы dll службы в пакет. Как я могу избежать этого?

1 Ответ

0 голосов
/ 22 октября 2019

Я смог собрать что-то вместе, используя некоторые непонятные опции:

  <ItemGroup>
    <ProjectReference Include="OtherProject">
      <!-- Hacks around to get the service to build first -->
      <PrivateAssets>All</PrivateAssets>
      <SetTargetFramework>TargetFramework=netcoreapp2.1</SetTargetFramework>
      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
    </ProjectReference>
  </ItemGroup>

Например, проект MSBuild, включающий этот код, нацелен на .NET Standard 2.0. Ссылка построена с использованием .NET Core 2.1. SetTargetFramework устраняет ошибку несовместимости.

...