Я также столкнулся с этой ошибкой CS0430.В моем случае проблема возникла из-за зависимости, вызванной обновлением NSubstitute.Я обновил свой файл * .fakes, как показано ниже, чтобы добавить диагностику и увидеть, что проблема была в System.Net.Http, как вы заметили.
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="true">
<Assembly Name="ClassLibrary1"/>
</Fakes>
После этого я попытался найти причину проблемы с помощьюмедленно удаляя новые зависимости и обнаруживая, что при наличии ссылки Nuget на System.Threading.Tasks.Extensions я получаю ошибку сборки.Во время обновления NSubstitute добавил System.Threading.Tasks.Extensions.В вашем сценарии это может быть похожая проблема с зависимостями, которая не связана напрямую с System.Net.Http.
Обновление: Я обнаружил эту проблему в dotnet /SDK РЕПО , который решает проблему.В ваш тестовый проект добавьте следующий Directory.Build.targets.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="PrivateFakesAfterFacadesSwitch"
Condition="'$(ImplicitlyExpandNETStandardFacades)' == 'true' and $(AssemblyName.EndsWith('.Fakes'))"
AfterTargets="ImplicitlyExpandNETStandardFacades" DependsOnTargets="ImplicitlyExpandNETStandardFacades">
<ItemGroup Condition="'@(_NETStandardLibraryNETFrameworkLib)' != ''">
<SnhReference Include = "@(_NETStandardLibraryNETFrameworkLib)" Condition="'%(_NETStandardLibraryNETFrameworkLib.FileName)' == 'System.Net.Http'" />
<Reference Remove="%(SnhReference.FileName)" Condition="'@(SnhReference)' != ''"/>
<Reference Include="%(SnhReference.FileName)" Condition="'@(SnhReference)' != ''">
<HintPath>%(SnhReference.Identity)</HintPath>
<Private>false</Private>
<Aliases>snh</Aliases>
</Reference>
</ItemGroup>
</Target>
</Project>