Старый проект 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 ответ
Я заметил, что вы перечисляете ошибки не по порядку. Это говорит о том, что вы допустили распространенную ошибку, которая особенно важна при создании решения в новой среде:
- Вы читаете табличное окно "Список ошибок", а не вывод компилятора.
Это плохо по двум причинам:
Выходные данные компилятора содержат дополнительную информацию, связанную с компиляцией и часто связанную с ошибками. Но все сообщения, не связанные с ошибками, удаляются IDE и не отображаются в окне "Список ошибок".
Первые сообщения являются наиболее важными, потому что более поздние ошибки часто являются побочными эффектами первых нескольких.
Перейдите в окно "Вывод", убедитесь, что установлен параметр "Показать вывод из: Построить", прокрутите до самого верха и начните устранять ошибки в порядке их появления.
Скорее всего, кодер забыл проверить один файл, что привело к ошибкам в том проекте, где другие файлы использовали этот класс. Затем, поскольку этот проект не создавался, все зависимые проекты не могут найти ничего, что содержится в этом или любом другом зависимом проекте, что приводит к сотням ошибок. Который действительно трудно разобрать в Списке ошибок, но совершенно ясно, когда вы переключаетесь на реальный журнал Build Output.