Откуда CS0012 получает информацию?C#

Место общения программистов C#
Ответить
Anonymous
 Откуда CS0012 получает информацию?

Сообщение Anonymous »

У меня есть приложение C#, основанное на версии 84 определенной библиотеки DLL.
Я понизил версию этой DLL и теперь использую версию 83. Я сделал это, заменив следующая строка в файле .csproj:

Код: Выделить всё


..\packages\Product.Core.16.12.6.1\lib\Firmware.Internal.dll

False

Кажется, это не работает из-за следующей строки в исходном коде:

Код: Выделить всё

Firmware.Internal.InternalGroup dockInternal = ...
Сообщение об ошибке:

Тип «InternalGroup» определен в сборке, которая не является
ссылка. Необходимо добавить ссылку на сборку «Firmware.Internal,
Version=1.0.84.1, Culture=neutral, PublicKeyToken=null».

Это действительно правильно: для версии 84 это работало, а для версии 83 – нет, поэтому мне нужно обновиться до версии 84, чтобы все заработало.
Вопрос< /strong>: откуда компилятор это знает? Я удалил ссылку на версию 84, так как же компилятор может знать, что для доступа к этой InternalGroup следует использовать версию 84 (почему не 85, 86, 136,...)?
Примечание: я только что удалил прокомментированные строки (
) в файле *.csproj, и результат равен, поэтому компилятор определенно не получает эту информацию из этого комментария.
Изменить: [/b]

P.s.:

Я только что удалил каталоги «bin» и «obj», различий нет, поэтому информация не найдена в некоторых старых старые скомпилированные двоичные файлы тоже.

Подробнее здесь: https://stackoverflow.com/questions/728 ... ation-from
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»