Разрешение нескольких конфликтующих версий System.Web.Mvc при использовании NuGet в качестве источника пакета

У меня есть проблема с проектом, находящим несколько версий одной и той же сборки. System.Web.Mvc например:

Я хочу убедиться, что наши проекты MVC никогда не найдут такой устаревший dll из любой точки, кроме источников NuGet.

Я понимаю, что не стоит удалять конфликтующие версии из системы, поскольку многие приложения могут зависеть от них. Например, этот был найден в C:\Program Files (x86)

Обновить:

Так как мы используем NuGet, я изменил:

Project > Properties > Build > Output > Output path: в C:\Temp\Drop

в каждом проекте (у нас есть несколько проектов библиотеки переносимых областей), а затем

Project > Properties > Reference Paths и добавил C:\Temp\Drop

И проблема ушла.

Будет ли это правильным способом или я просто открываю еще одну банку с червями здесь?

1 ответ

Посмотрите следующую статью, связанную с привязкой сборки и проверкой, это довольно хорошо:

MSDN - сборочный зонд

Проверьте эту статью тоже.

Существует полная иерархия, которая используется для поиска сборки, для строго именованных сборок GAC будет на первом месте, в вашем случае вы используете сборку со строгим именем. Как объясняется в статье, вы должны иметь возможность направлять ваше приложение к правильной версии сборки во время выполнения.

Другие вопросы по тегам