Старый проект C# перенесен в хранилище, но не компилируется из-за отсутствия DLL в VS2013

В прошлом году бывший сотрудник отправил проект Visual Studio в наш репозиторий GitBlit, но как только я проверил его и попытался скомпилировать, он говорит

Ошибка 51 Не удалось найти файл метаданных 'D:\GIT\epimst\MSTDAO\bin\Debug\MSTDAO.dll' D:\GIT\epimst\EPIMST\CSC EPIMST

Ошибка 47 Не удалось найти файл метаданных 'D:\GIT\epimst\EPIDAO\bin\Debug\EPIDAO.dll' D:\GIT\epimst\epiapputils\CSC epiapputils

Ошибка 48 Не удалось найти файл метаданных "D: \ GIT \ epimst \ EPIDAO \ bin \ Debug \ EPIDAO.dll" D:\GIT\epimst\MSTDAO\CSC MSTDAO

Ошибка 50 Не удалось найти файл метаданных 'D:\GIT\epimst\EPIDAO\bin\Debug\EPIDAO.dll' D:\GIT\epimst\EPIMST\CSC EPIMST

Поэтому я решил скопировать эти библиотеки DLL из нашего развернутого программного обеспечения и просто скопировать их обратно в различные каталоги. Это исправило ошибки 'count not be found', но затем возникло множество неопределенных ошибок в коде.

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

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

Мы почти уверены, что библиотеки DLL той же версии, так как мы выпустили только одну версию программного обеспечения, но каким-то образом исходный код больше не работает.

1 ответ

Я заметил, что вы перечисляете ошибки не по порядку. Это говорит о том, что вы допустили распространенную ошибку, которая особенно важна при создании решения в новой среде:

  • Вы читаете табличное окно "Список ошибок", а не вывод компилятора.

Сравнение окна Build Output с окном списка ошибок

Это плохо по двум причинам:

  1. Выходные данные компилятора содержат дополнительную информацию, связанную с компиляцией и часто связанную с ошибками. Но все сообщения, не связанные с ошибками, удаляются IDE и не отображаются в окне "Список ошибок".

  2. Первые сообщения являются наиболее важными, потому что более поздние ошибки часто являются побочными эффектами первых нескольких.

Перейдите в окно "Вывод", убедитесь, что установлен параметр "Показать вывод из: Построить", прокрутите до самого верха и начните устранять ошибки в порядке их появления.

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

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