Я обнаружил, что иногда пакеты nuget будут устанавливаться (что я предполагаю) .NET Core требуемые компоненты или другие элементы, которые конфликтуют с уже установленной инфраструктурой. Моим решением было открыть файл проекта (.csproj) и удалить эти ссылки. Например, System.IO, System.Threading и т. Д., Как правило, добавляются, когда Microsoft.Bcl включен через недавно установленный пакет NuGet. Нет причин для конкретных версий тех, что есть в моих проектах, поэтому я удаляю ссылки и сборки проекта. Надеюсь, что это поможет.
Вы можете выполнить поиск в файле проекта для «ссылки» и удалить конфликты. Если они включены в Систему, избавитесь от них, и сборка должна работать. Это может не отвечать на все случаи этой проблемы - я уверен, что вы знаете, что сработало для меня:)
Пример того, что я прокомментировал:
<!-- <Reference Include="System.Runtime, Version=2.6.9.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> -->
<!-- <HintPath>$(SolutionDir)packages\Microsoft.Bcl.1.1.9\lib\net40\System.Runtime.dll</HintPath> -->
<!-- <Private>True</Private> -->
<!-- </Reference> -->
Давайте подбросим определенный ответ здесь в случае, если кто-то приезжает позже. Из статьи здесь .
extern alias CastleCore;
CastleCore::Castle.Core.Interceptors.IInterceptor
. Или в моем случае я просто сделал: использование cci = CastleCore:: Замок. Ядро. Перехватчики;
и может теперь сослаться
cci.IInterceptor
Можно использовать extern alias
для искажения одного из блоков для предотвращения неоднозначности.