JSLint тестирует одного конкретного человека (Douglas Crockford) мнения относительно того, что делает хороший код JavaScript. Crockford очень хорош, но некоторые его мнения анальные сохраняющий в лучшем случае как правило подчеркивания или использование инкремента/операторов понижения.
Многими проблемами, отмечаемыми JSLint на вышеупомянутом выводе, являются проблемы, которые чувствует Crockford, приводит к трудному для поддержания кода, или они - вещи, которые он чувствует, привел его к выполнению 'умных' вещей в прошлом, которое может быть трудно поддержать.
существуют некоторые вещи, Crockford идентифицирует как ошибки, что я соглашаюсь с хотя, как недостающая вещь точек с запятой. Отбрасывание точек с запятой вынуждает браузер предположить, где вставить маркер конца оператора, и это может иногда быть опасно (это всегда медленнее). И несколько из тех ошибок связаны с JSLint, не ожидая, или поддерживание нескольких присвоений как jQuery делает на строке 24.
, Если у Вас есть вопрос об ошибке JSLint, электронная почта Crockford, он действительно хорош об ответе, и с его ответом, Вы будете, по крайней мере, знать, почему JSLint был реализован тот путь.
, О, и просто потому что библиотека популярна, не означает, что это - код, хорошо работает. JQuery популярен, потому что это - относительно быстрая, простая в использовании библиотека. То, что это хорошо реализовано, довольно несущественно к, он - популярность среди многих. Однако необходимо, конечно, читать больше кода, все мы должны.
JSLint может быть очень полезным в идентификации проблем с кодом, даже если JQuery не передает стандарты, которых это требует.
Я думаю, вы можете просто вызвать assembly.LoadFrom, чтобы загрузить выбранную вами сборку практически без проверок безопасности. Мы часто используем это в начале нашего приложения, чтобы мы могли лучше справляться с изменением версии других сборок.
Также посмотрите Assembly.LoadFrom Method (String, Evidence, Byte [], AssemblyHashAlgorithm) похоже, вы можете управлять передачей хэша, а также хеш-алгоритмом.
Что вызывает загрузку попытка? IOW вы вызываете Assembly.Load или это результат попытки разрешения типа? Если последнее, вы можете попробовать поиграть с событием AppDomain TypeResolve, если первое - вы можете добавить дополнительную логику к вашему вызову Assembly.Load.
Если вы загружаете сборку вручную, убедитесь, что вы загружаете ее с помощью Сборка. Загрузка - не Assembly.LoadFrom. Есть небольшие различия в разрешении типов в зависимости от того, какая сборка контекста загружена в
Looks like what I want is impossible. I decided to go another route. We'll have to modify the build system to conditionally link to signed binaries instead of test-signed binaries at compile time.
Thanks everyone for the suggestions though!
существует стандартный способ найти сборку, если приложение не может этого сделать:
// register on assembly resolve exception
AppDomain.CurrentDomain.AssemblyResolve += ResolveEventHandler;
// try to load the assembly yourself
private static Assembly ResolveEventHandler(object sender, ResolveEventArgs args)
{
return Assembly.Load(some_location);
}