.net core 与不使用';不要创建二进制依赖项

.net core 与不使用';不要创建二进制依赖项,.net-core,msbuild,.net Core,Msbuild,对于.NET Core SDK,是否有一种方法可以像使用ProjectReference那样调整构建依赖关系图,而不进行实际引用,并且不调整解决方案文件 在某些细节方面,我有两个项目服务和客户。服务项目正在生成一个Swagger/Open API文件。Client项目是一个NuGet包,它使用生成的文件来生成一些C#代码。我希望指示MSBuild重新生成服务,如果它在生成客户端时发生更改。使用ProjectReference将进行硬引用,并在包中包含服务dll。如何避免这种情况?我可以使用一些模

对于.NET Core SDK,是否有一种方法可以像使用
ProjectReference
那样调整构建依赖关系图,而不进行实际引用,并且不调整解决方案文件


在某些细节方面,我有两个项目
服务
客户
服务
项目正在生成一个Swagger/Open API文件。
Client
项目是一个NuGet包,它使用生成的文件来生成一些C#代码。我希望指示MSBuild重新生成
服务
,如果它在生成
客户端
时发生更改。使用
ProjectReference
将进行硬引用,并在包中包含服务dll。如何避免这种情况?

我可以使用一些模糊的选项拼凑出一些东西:

  <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>

全部的
TargetFramework=netcoreapp2.1
假的

例如,包含此代码的MSBuild项目以.NET标准2.0为目标。该参考是使用.NETCore2.1构建的。
SetTargetFramework
消除了不兼容错误。

我能够使用一些模糊的选项拼凑出一些东西:

  <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>

全部的
TargetFramework=netcoreapp2.1
假的
例如,包含此代码的MSBuild项目以.NET标准2.0为目标。该参考是使用.NETCore2.1构建的。
SetTargetFramework
消除了不兼容错误