2015-05-19 4 views
1

Я использую Visual Studio 2012 и HP Fortify 4.21 с последними пакетами правил.HP Fortify сканирует ошибку ASP Pre-Compilation

Код (C#) живет на одной машине с HP Fortify, и я использую только AWB, а не SCC. Код успешно строится, когда разработчик выполняет сборку, но когда я пытаюсь выполнить сканирование с помощью Fortify, я получаю сообщение об ошибке.

ASP Предварительная компиляция ошибка

Эта ошибка происходит ли я запускать из VS или из командной строки. Журналы не показывают ошибок или предупреждений, но в конце указывают, что хранить ничего не нужно, поэтому файл fpr никогда не создается. Если я запустил проверку из Audit Workbench, она выдает сообщение о том, что он не может создать идентификатор сборки.

Я нашел предложение (ниже), чтобы решить проблему ASP, но он не работает и не создает файл fpr, чтобы иметь возможность запускать последнюю строку (для выполнения сканирования).

Я ценю любую помощь!

Шаг 1: Чистый sourceanalyzer -b "Build ID" -clean

Шаг 2: Перевод/Сборка sourceanalyzer -b "Build ID" -Xmx1280M -Xss8M -debug -logfile trans.log Devenv «Sample .sln»/ Rebuild Debug

Шаг 3: Анализ sourceanalyzer -b "Build ID" -Xmx1280M -Xss8M -debug -logfile scan.log -SCAN -f Results.fpr

ответ

0

Я столкнулся аналогичный проблемы. Попробуйте на другой машине. Иногда это заставляет его работать. Когда это не произошло из-за ошибки Fortify. Работа с поддержкой Fortify помогла мне отследить проблему. HP сообщает об ошибке, хотя я не верю, что это помогает. Тем не менее, как только я узнаю, какая конструкция в файле вызвала сбой, я смог изменить файл, чтобы получить Fortify для завершения.

Извините, у меня больше нет помощи.

+0

Я переместил код на 2 другие машины и запустил его с той же проблемой. Спасибо за ваше предложение. – quinnles

0

Проблема связана с одним или несколькими вашими ASPX-файлами. Для веб-форм dotnet страницы ASPX не компилируются Visual Studio, они динамически скомпилируются на сервере. Чтобы Fortify мог сканировать этот код, он вызывает ASPNET_compiler для компиляции ваших ASPX-файлов. Pass -debug из командной строки, а затем загляните в журнал для вызова ASPNET_compiler. Вы можете скопировать эти аргументы и затем запустить их в командной строке Visual Studio, чтобы найти файл ASPX, который вызывает проблему. Имейте в виду, что, передавая ASPNET_compiler каталог для компиляции, он умирает, когда находит первую ошибку. Возможно, вам придется запустить его несколько раз, чтобы найти все ошибки.

+0

Большое спасибо за предложение, я попробую это, чтобы посмотреть, смогу ли я его сузить. – quinnles

0

Проверьте вкладку «Информация об анализе» в AWB для соответствующей ошибки сканирования. Также просмотрите файл журнала сканирования для соответствующей записи.

Если Эрик прав, вы можете захотеть поместить исходный анализатор в скрипт сборки, если проблема снова появится.

+0

Я буду помнить об этом, спасибо за предложение. – quinnles

2

Я столкнулся с этой проблемой, и это позаботилось о моей проблеме.

Шаг 1. Перейдите на вкладку «BUILD» . Шаг 2. Нажмите «Очистить решение». Шаг 3. Скорее всего две папки появились в обозревателе решений (bin и obj). Щелкните правой кнопкой мыши каждый и удалите его, неважно, в каком порядке вы его делаете. Шаг 4.Нажмите на вкладку «BUILD» Шаг 5. Нажмите кнопку «Rebuild Solution» Шаг 6. Попробуйте запустить FORTIFY снова

Дополнительные шаги Шаг 7. Если он все еще не работает, проверить web.config на наличие ошибок. Проект будет строиться с ошибками, но приведет к сбою прекомпиляции с помощью Fortify.

Шаг 8. Попробуйте выделить больше ОЗУ для фортификации, перейдя в HP Fortify -> Параметры -> Настройки проекта -> Память (МБ) -> 1024 (или выше).

+0

Я только что столкнулся с этой очень досадной ошибкой. Это предложение сразу сработало. Благодаря! –

0

Шаг 1. - перейдите на вкладку «build» . Шаг 2. - щелкните «чистое решение». Шаг 3. - В папке с исправлениями обнаружено 2 папки (bin, obj). щелкните правой кнопкой мыши
каждый 1, удалить его, не имеет значения порядок. Этап 4. Перейдите на вкладку «сборки» шаг 5. Нажмите кнопку «восстановить решение» шаг 6. попытка запустить снова подкрепиться

дополнительные шаги шаг 7. - f все еще не работает, проверьте ошибки web.config. ошибки сборки проекта приводят к тому, что прекомпиляция перестает укрепляться.

Шаг 8. - попробуйте выделить больше ram fortify going hp fortify -> options -> settings settings -> memory (mb) -> 1024 (или выше).

Данная ссылка помогла решить мои проблемы. не http://nayviocde12.blogspot.be/2012/08/aspnet-hp-fortify-scans-get-asp-pre.html

0

Fortify SCA версии 16,20 и после

Начиная с Fortify SCA версии 16.20, ASP.Net код больше не использует Microsoft aspnet_compiler.exe поэтому эта конкретная проблема не повторится.

Перед Fortify SCA версии 16,20

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

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe" -v/-p $(ProjectDir) 

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

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

Простым способом проверить это будет включение Показать все файлы в окне обозревателя решений Visual Studio.