Подтвердить что ты не робот

Тип <type> существует как в 'A', так и 'B'

Теперь я знаю, что здесь есть несколько таких вопросов, но, перевернув их, я не нашел того, что решает мою конкретную проблему.

У меня есть проект ASP.NET MVC 4.5. Я использовал NuGet и добавил Newtonsoft.Json к проекту. Как только я использовал его в своем коде (чтобы сделать сериализацию в верблюжьем футляре), мой проект больше не строит правильно со следующей ошибкой:

Тип "Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver" существует как в "C:..\Microsoft Visual Studio 12.0\Blend\Newtonsoft.Json.dll", так и в C:..\Visual Studio 2013\Projects\myProject\пакеты\Newtonsoft.Json.6.0.1\Lib\net45\Newtonsoft.Json.dll '

К сожалению, он один и тот же файл с открытым ключом на каждом, поэтому я не могу использовать ссылку на сборку ссылок в Web.config(как было предложено в другом месте). Я бы предпочел использовать DLL, извлеченную через NuGet, чтобы упростить обновление до новых версий.

Кроме того, ни один из них не находится в папке временного Интернета, поэтому я не могу просто удалить его и заставить его работать.

Как я могу задать конкретный файл сборки, который я хочу использовать, чтобы я мог правильно построить проект? Спасибо!

4b9b3361

Ответ 1

Xaniff, откройте файл проекта вручную и найдите Newtonsoft. Вы, скорее всего, найдете группу элементов со ссылкой на версию, которая не соответствует вашему пакету nuget. В моем случае я нашел это:

<ItemGroup>
    <Reference Include="Newtonsoft.Json">
        <HintPath>..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll</HintPath>
    </Reference>
</ItemGroup>

Я удалил эту группу элементов, закрыл файл проекта, перезагрузил, и все было хорошо.