Декомпилировать исходный код ASP.NET

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

Есть ли способ декомпилировать (извлечь в исходный код) код PreCompiled?

Ответы

Ответ 2

Чтобы обновить ответ @xOn:

В связи с недавней катастрофой управления исходными кодами мне пришлось восстановить свой проект из DLL. Так грустно, что я знаю о процедуре:

  • Получить .Net Reflector отсюда: http://www.red-gate.com/products/dotnet-development/reflector/

  • Вам не нужен FileDisassembler.

  • Загрузите свои корзины в Reflector или дважды щелкните их.

  • Помните, что инфраструктура .Net, возможно, не сохранила исходную структуру файла проекта. Поэтому, если некоторые из ваших страниц ASPX используют одно и то же имя базового класса в разных файлах .cs(тег I.E. Inherits тот же, но тег CodeFile отличается), вы не сможете просто "экспортировать исходный код". Не следите за экспортом исходных файлов. Это не сработает.

  • Все еще предстоит проделать определенную работу, прежде чем вы сможете просто запустить старую кнопку. Например, библиотеки DLL могут напрямую ссылаться на свойства getter/seters. Вам придется это исправить.

Удачи.

Ответ 3

Начните с:

http://www.red-gate.com/products/dotnet-development/reflector/

... плюс:

http://www.denisbauer.com/NETTools/FileDisassembler.aspx

Вам придется перекомпилировать последний, чтобы связать его с v6.5 рефлектора (последнее, начиная с этой публикации). Это хорошее дополнение, если вы хотите избежать копирования и вставки одного отдельного класса в файлы вручную. Он сбрасывает полностью сборку в виде файлов .cs. Я думаю, что даже может генерировать csproj.

Оба инструмента бесплатны.

Ответ 4

Я обнаружил, что dll можно просто прочитать с помощью инструмента .NET Reflector, но не может извлечь исходный код. А также, когда веб-формы предварительно скомпилированы, мы даже не можем вернуть код за файлами. Все, что мы можем сделать, это отладить и проанализировать код.

Ответ 5

У меня была аналогичная проблема, и я использовал Reflector для декомпиляции. Я получил исходный код, затем изменил бит, который я хотел, и восстановил его. Затем я снова скопировал эту dll на сайт Production. Он начал отражать мои изменения. Это было очень легко и совсем не сложно, возможно, потому, что на Precompiled site были dll для каждой страницы, и он был обновляемым, поэтому в dll был только файл с кодом.

Для справки: http://www.reflector.net/

Ответ 6

Когда вы устанавливаете .net reflecter.its импортируете в визуальную студию. то вы увидели инструменты рефлектора .net в строке меню.

Нажмите на .net отражатель → Выберите Asseblies (файл Dll) для отладки.