Таким образом, я просто минимизировал использование AjaxMin.dll в своем проекте при каждой сборке / развертывании для всех файлов js / css с настройками по умолчанию . Это оказалось плохой идеей. Один из сторонних файлов javascript, который у нас есть, имеет хороший оператор eval с некоторыми переменными или параметрами, на которые ссылаются. Когда он минимизируется, исходные переменные переименовываются и не переименовываются в операторе eval. Это вызвало большую старую ошибку в производстве (FML).
Я решил, что мне нужно выбрать более безопасные настройки для процесса минификации.
Документация по AjaxMin очень непонятна.
http://www.asp.net/ajaxlibrary/AjaxMinWithAndEval.ashx
Или, может быть, я просто не понимаю этого. Я использую код (вместе с DLL), а не командную строку.
В классе CodeSettings
есть опция класса EvalTreatment
, но я не уверен, что лучше всего выбрать ...
От Microsoft (источник DLL):
using System;
namespace Microsoft.Ajax.Utilities
{
public enum EvalTreatment
{
Ignore = 0,
MakeImmediateSafe = 1,
MakeAllSafe = 2,
}
}
Я думаю MakeImmediateSafe
(1) или MakeAllSafe
(2)? Что, вы парни, думаете?
Заранее спасибо!