Непонятное использование DLL в WinForms - PullRequest
1 голос
/ 20 апреля 2011

У меня есть проект и решение WinForms, к которому также добавлено несколько проектов библиотек классов.

Проект WinForms использует код в библиотеках классов.Я использую это приложение около года, и оно всегда работало хорошо.

Однако сегодня я добавил некоторые функции в библиотеку классов, но эти изменения не отображаются в работающем приложении.Я также попытался добавить новый открытый метод в один из классов, но этот метод не отображается в Intellisense для приложения.

Это должно быть очень просто разрешить, но благодаря тому, что WinForms автоматически копирует DLLЗа кулисами я понятия не имею, где проблема.Все, на что я смотрю, мне кажется правильным.Код продолжает работать так, как думал, что использует старую версию DLL.Но у библиотеки DLL в каталоге Bin моего приложения WinForms есть сегодняшняя дата.

Может кто-нибудь дать рекомендацию о том, где мне искать решение этой проблемы?

Ответы [ 3 ]

2 голосов
/ 20 апреля 2011

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

1 голос
/ 20 апреля 2011

Согласно ответу Михаила вы можете обнаружить, что ссылка на сборку на самом деле не ссылка на проект, а скорее на конкретный путь, который не является скомпилированным путем (например, bin \ Release).

Кроме того, это может показаться тривиальным, но дважды проверьте, что Свойства конфигурации вашего решения фактически строят проект, когда вы используете функцию Build!Я отключил проекты от сборки только для того, чтобы забыть о том, что сделал, а потом растерялся, когда их изменений нет в моем приложении!

0 голосов
/ 20 апреля 2011

Вы поместили какую-либо из библиотек классов в GAC?

Если бы в GAC присутствовала сборка со строгим именем с той же версией AssemblyVersion, она использовалась бы вместо той, что в вашем решении.

...