Проект Установки VS2008 всегда требует.NET 3.5 во время установки, но мне не нужен он!

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

11
задан Phil Wright 16 September 2008 в 01:31
поделиться

4 ответа

Никакая потребность отредактировать файл вручную. Подсказка чуть выше GUID там: "LaunchCondition".

  1. Щелкните правой кнопкой по проекту установки
  2. Выберите "Представление"-> "Условия Запуска"
  3. Разверните "узел" Условий Запуска, если он уже не расширен
  4. Щелкните правой кнопкой по узлу ".NET Framework" и выберите "Окно свойств"
  5. В "Properties" окно изменяют значение "Версии" на соответствующее значение, в Вашем случае 2.0.50727.

Я не уверен, почему это не установлено соответственно от запуска.

21
ответ дан 3 December 2019 в 04:54
поделиться

Даже при предназначении для 2,0 развертывания некоторые блоки могли бы потребовать 3.5. Например, LINQ требует 3.0. Это должно, однако, быть отражено, когда Вы создаете. Проверьте каждый блок, чтобы гарантировать, что это - 2,0 совместимых. Вы не хотите 3,5 вещей, крадущихся в. Если это верно, мое предположение было бы сторонней библиотекой программ управления с поддержкой WPF.

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

Я всегда использовал Innosetup для развертывания моих проектов. Это очень быстро, и очень настраиваемо. Нет почти ничего, что Вы не можете сделать с небольшим количеством сценариев. Innosetup может обнаружить, какая версия Платформы установлена, и предложите пользователю, если правильная версия не присутствует (со сценариями).

Я рекомендую, чтобы Вы попробовали альтернативные инструменты развертывания как Innosetup и видели, нравятся ли Вам они. Существует богатство возможности там.

0
ответ дан 3 December 2019 в 04:54
поделиться

Я в конечном счете нашел ответ на свой собственный вопрос.

При сравнении файлов проектов с помощью Блокнота, я заметил, что проект установки в VS2008 имеет запись, которая запрашивает, версия 3.5 и тот же раздел в проекте VS2005 были отмечены как 2,0. То, что является странным, - то, что раздел похож на что-то, что Вы не можете вручную изменить в среде Visual Studio и таким образом, Вы вынуждены обновить файл проекта вручную. Где угодно вот незаконная область файла проекта для тех, который сталкивается с той же проблемой...

"Deployable"
{
    "CustomAction"
    {
    }
    "DefaultFeature"
    {
    "Name" = "8:DefaultFeature"
    "Title" = "8:"
    "Description" = "8:"
    }
    "ExternalPersistence"
    {
        "LaunchCondition"
        {
            "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_FC497D835F7243569DCCC3E3ACE4196D"
            {
            "Name" = "8:.NET Framework"
            "Message" = "8:[VSDNETMSG]"
            "Version" = "8:3.5.30729"  <--- UPDATE THIS TO 8:2.0.50727
            "AllowLaterVersions" = "11:FALSE"
            "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617"
            }
        }
    }
1
ответ дан 3 December 2019 в 04:54
поделиться
Другие вопросы по тегам:

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