Обнаружьте Платформу.NET 3,5 Зависимости SP1 (cmp. 3,5 w/o SP1)

  • Общее количество элементов меньше 500
  • Вставка выполняется только один раз

Сохранение массива фиксированного размера (500) пар ключ-значение плюс «допустимое количество элементов», если фактический размер известен только во время выполнения; заполнить его данными и отсортировать; тогда вы можете просто выполнить бинарный поиск.

Учитывая, что элементов немного, в зависимости от конкретного процессора может быть даже удобнее просто выполнять линейный поиск (возможно, сначала сохраняя наиболее часто используемые элементы, если у вас есть подсказки о наиболее часто просматриваемых значениях) ,

5
задан abatishchev 14 June 2010 в 14:22
поделиться

5 ответов

У меня просто была та же проблема, и я нашел решение. Для нашего приложения это был вызов к Системе. Поточная обработка. WaitHandle. WaitOne (Int32), который получил нас в проблеме. Для получения дополнительной информации о том, как ссылки на API, которые были представлены в обслуживании выпуски пакета, могут просочиться в Ваш код без Visual Studio, замечающей, см. сообщение Krzysztof Cwalina.

Хорошие новости - то, что, как упомянутый Marc является своим ответом, FxCop имеет новое правило, которое обнаруживает эти утечки. Плохие новости - то, что правило нарушено в FxCop 1.36 при предназначении для Платформы.NET 3.5. Однако David Kean описывает, как отредактировать несколько конфигурационных XML-файлов для решения проблемы. Я следовал инструкциям, и FxCop теперь обнаруживает мои ссылки на пакет обновления API.

5
ответ дан 14 December 2019 в 04:50
поделиться

Как насчет этого? (мультипредназначающиеся правила для FxCop)

2
ответ дан 14 December 2019 в 04:50
поделиться

Можно использовать код, который, как находят здесь, обнаружил установленные Платформы.NET.

1
ответ дан 14 December 2019 в 04:50
поделиться

Существует другая опция, которую я не попробовал. В документации Visual Studio говорится, что можно заставить установщик ClickOnce конкретно предназначаться для.NET 3.5SP1 платформа. Перейдите по ссылке и поиску "Предназначения для Версии 3.5 SP1 Платформы.NET". По существу это говорит, что выполнение любого следующего вынудит установщик установить 3.5SP1:

  • Укажите Ошибочный URL в Опубликовать Окне параметров.
  • Укажите название Пакета в Опубликовать Окне параметров.
  • Создайте настольный ярлык в Опубликовать Окне параметров.
  • Исключите файл из хеша в диалоговом окне Application Files.
  • Очистите Знак, ClickOnce проявляет флажок на странице Signing.
  • Добавьте ссылку на Систему. Данные. Блок объекта.
0
ответ дан 14 December 2019 в 04:50
поделиться

представьте Fx35RegistryKey в виде строки = "Платформа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Setup\NDP\v3.5"; возразите Fx35ServicePack = Реестр. GetValue (Fx35RegistryKey, "SP", пустой указатель);

если (Fx35ServicePack == пустой указатель || (международный) Fx35ServicePack <1) выдают новое Исключение (" Платформа.NET требуются, 3,5 SP1. ");

0
ответ дан 14 December 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: