Компилятор C # выбирает неправильную сборку для типа - PullRequest
0 голосов
/ 01 октября 2019

Недавно мы разделили некоторый общий код из одной сборки на две сборки, обе из которых названы по-разному. При обновлении приложения я удалил все ссылки на старую сборку и добавил ссылки на две новые сборки. При компиляции кода он говорит мне, что я должен добавить ссылку на старую сборку для некоторых типов, даже если эти типы определены в одной из новых сборок.

Определен тип 'ICustomerDetails'в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку «OldAssembly, Version = xxxx, Culture = нейтральный, PublicKeyToken = xxxx».

Пример кода

using newAssemblyOne; -resharper says it not needed
using newAssemblyTwo;

....

var obj = customer.Details;

customer - это определенный интерфейсв newAssemblyTwo, что удовлетворяет компилятор. Подробности - это интерфейс типа ICustomerDetails, определенный в newAssemblyOne, на который жалуется компилятор.

customerDetails отлично работает при запуске из newAssemblyTwo. приложение и обе сборки имеют одинаковую целевую среду.

Любая помощь будет принята

1 Ответ

0 голосов
/ 01 октября 2019

Мне была предоставлена ​​неверная версия одной из сборок

...