Обратное проектирование веб-приложения asp.net

У меня есть веб-приложение asp.net. У меня нет исходного кода. Корзина содержит 10 сборок и скомпилированный файл. Я использовал Reflector для App_Code.dll, и он показывает мне классы, пространства имен и прочее, но это такой беспорядок.

Есть ли способ перепроектировать это веб-приложение, на развертывание которого не уйдут недели/месяцы? Приложение довольно простое.

Обратите внимание, код написан инженером, покинувшим компанию. Мы владеем продуктом.


person P.Brian.Mackey    schedule 16.02.2011    source источник
comment
Звонить парню и спрашивать, где источник, не может быть и речи?   -  person Biff MaGriff    schedule 16.02.2011
comment
Как насчет доступа к его старому компьютеру?   -  person Biff MaGriff    schedule 16.02.2011
comment
@Bill MaGriff - да, к сожалению. И я даже не хочу предлагать судиться с кем-либо. Я оставлю такие вещи на усмотрение моего босса и юриста. Я просто пытаюсь сделать все, что в моих силах, чтобы заставить нас снова работать с этим приложением.   -  person P.Brian.Mackey    schedule 16.02.2011
comment
@Bill MaGriff - это хорошая идея. Они сказали, что обыскали его и не смогли найти его файлы. Все это произошло задолго до того, как я начал здесь, много лет назад. Я даже не знаю всех подробностей.   -  person P.Brian.Mackey    schedule 16.02.2011
comment
Что ж, если они не форматировали его, возможно, программное обеспечение для восстановления файлов может помочь. Если бы вы могли найти отладочную dll, вы могли бы заниматься бизнесом без необходимости просеивать запутанный код.   -  person Biff MaGriff    schedule 16.02.2011


Ответы (2)


С помощью рефлектора вы можете сохранить отраженный код в проекте, который вы можете загрузить в Visual Studio. Это, вероятно, ваш лучший выбор.

То, что вы видите, это то, что вы получаете, и вам просто нужно пройти через это, чтобы понять, что происходит в программе. Чтение кода — это не бесплатный обед.

person Mikael Svenson    schedule 16.02.2011
comment
Я просто разобрал часть. Один из файлов называется DotfuscatorAttribute.cs. Все файлы называются a.cs, ​​b.cs... Похоже, этот парень приложил некоторые усилия, чтобы убедиться, что мы не сможем легко решить эту проблему... - person P.Brian.Mackey; 16.02.2011
comment
Если код запутан, вам будет сложнее собрать его вместе. Переменные будет трудно читать, и проект не скомпилируется в VS без большого редактирования. Возможно, подать в суд на старого парня - самое быстрое решение, как упоминалось здесь, и обязательно добавьте систему управления версиями для всех новых разработок. - person Mikael Svenson; 16.02.2011
comment
У нас есть контроль источника. Эта компания настолько огромна, что на ее пути встала политика, и мы оказались с сердитым инженером (он прошел один курс по программированию и написал это, потому что предыдущий парень, который руководил разработчиком, просто не выполнял свою работу). В любом случае, да, мы здесь. Я не думаю, что он запутал, эта сборка была частью .NET. Все сборки в форме ASP_Web_* читаемы, как и app_code. Похоже на PITA, но я думаю, это лучшее, что можно сделать. Спасибо. - person P.Brian.Mackey; 16.02.2011

К сожалению, если у вас нет исходного кода, у вас есть один из 3 вариантов:

  • Отражатель
  • Переписать
  • Подайте в суд на оригинального разработчика, чтобы он предоставил вам исходный код, которым вы владеете (IANAL, поэтому YMMV)
person Joel Martinez    schedule 16.02.2011