加载 csproj 元素 <PackageReference> 中的属性 "ExcludeAssets" 无法识别

Load csproj The attribute "ExcludeAssets" in element <PackageReference> is unrecognized

使用 Microsoft.Build 组件使用方法 ProjectCollection.GlobalProjectCollection.LoadProject 加载 csproj。文档 here.

在其中一个引用中加载具有 PackageReference 和 ExcludeAsset 属性的 csproj,示例:

 <PackageReference Include="SomePackage" ExcludeAssets="Compile">
      <Version>1.0.0</Version>
  </PackageReference>

抛出以下异常:

无法识别元素中的“ExcludeAssets”属性。

已经尝试了不同的工具版本 (2.0 | 4.0 |12.0),并且两个项目都是在 .net472 中编译的

我该如何解决这个问题?

谢谢

我找到了一个与@AluanHaddad 回复相关的解决方案。正在调用 ProjectCollection.GlobalProjectCollection.LoadProject 的项目。如果它使用新的 SDK 样式,则能够加载具有 packagereferences 和 ExcludeAssets 属性的旧 csproj。