忽略 .netstandard ProjectReference 中的 NuGet 包
ignore NuGet package from .netstandard ProjectReference
我在 Xamarin
项目中有以下项目结构。
a .netstandard
库包含 NuGet
包 X
也应该在项目 B
和 C
中可用,它引用 A
通过ProjectReference
在 .csproj
.
在项目 D
中,我会忽略或排除来自 .netstandard
A
的 NuGet
包,因为我有自己的平台实现(custom X
).怎么设置这样的场景就是项目设置?
编辑:更多信息
Package X
是一个多目标 NuGet 包,它支持 B
和 C
平台,但在 D
上我想引用我自己的代码。
我最终在我的 .csproj
文件中使用 ItemGroup
条件来包含/排除基于 TargetFramework
的包。适用于此用例
<ItemGroup Condition=" $(TargetFramework.StartsWith('A')) ">
<PackageReference Include="package-for-A-and-B Version="1.2.3">
</PackageReference>
</ItemGroup>
<ItemGroup Condition=" $(TargetFramework.StartsWith('B')) ">
<PackageReference Include="package-for-A-and-B Version="1.2.3">
</PackageReference>
</ItemGroup>
<ItemGroup Condition=" $(TargetFramework.StartsWith('D')) ">
<PackageReference Include="package-for-D Version="1.2.3">
</PackageReference>
</ItemGroup>
我在 Xamarin
项目中有以下项目结构。
a .netstandard
库包含 NuGet
包 X
也应该在项目 B
和 C
中可用,它引用 A
通过ProjectReference
在 .csproj
.
在项目 D
中,我会忽略或排除来自 .netstandard
A
的 NuGet
包,因为我有自己的平台实现(custom X
).怎么设置这样的场景就是项目设置?
编辑:更多信息
Package X
是一个多目标 NuGet 包,它支持 B
和 C
平台,但在 D
上我想引用我自己的代码。
我最终在我的 .csproj
文件中使用 ItemGroup
条件来包含/排除基于 TargetFramework
的包。适用于此用例
<ItemGroup Condition=" $(TargetFramework.StartsWith('A')) ">
<PackageReference Include="package-for-A-and-B Version="1.2.3">
</PackageReference>
</ItemGroup>
<ItemGroup Condition=" $(TargetFramework.StartsWith('B')) ">
<PackageReference Include="package-for-A-and-B Version="1.2.3">
</PackageReference>
</ItemGroup>
<ItemGroup Condition=" $(TargetFramework.StartsWith('D')) ">
<PackageReference Include="package-for-D Version="1.2.3">
</PackageReference>
</ItemGroup>