Приложение VB.NET, скомпилированное для целевой платформы 4.6.1, не запускается на компьютере с рамкой только 4.8 .Net

Я намерен создать простое приложение Winform, чтобы позволить пользователю автоматизировать создание файла и сохранить последнюю заполненную форму в файле, чтобы сохранить ее для следующего запуска. таким образом, я не заинтересован в создании установщика для этого простого приложения Winform. Я ожидал, что скомпилирую его только в .exe и позволю ему работать на других компьютерах.

Я разрабатываю приложение с использованием сообщества VS2019 с целевой .net 4.6.1. Оно не будет работать на компьютере с Windows 10 только с .net framework 4.8

Мы не можем установить framework 4.6.1, поскольку в нем говорится, что более ранняя версия .net framework уже установлена ​​.

Следует ли перекомпилировать приложение с целевой .NET Framework 4.8?

Не могу ли я скомпилировать свое приложение для работы на любом компьютере с версией не ниже 4.6.1 или новее? без установщика.

(Я действительно не понимаю, что означает обратная совместимость фреймворка .net)

мое приложение использует:

  • библиотека user32.dll для функции SetForegroundWindow

  • для создания файла .ini


person Haitham Sungkar    schedule 04.06.2020    source источник
comment
предоставленная вами ссылка приведет к ошибке - 404 - страница не найдена. Ах, это квадратная скобка в хвосте], указывающая на ошибку.   -  person Haitham Sungkar    schedule 04.06.2020
comment
Извините. снова Короткий ответ ДА перекомпилируйте свое приложение в .net4.8. ИЛИ вы можете прочитать эту статью о [Параллельное выполнение] docs.microsoft.com/en-us/dotnet/framework/deployment/   -  person evry1falls    schedule 04.06.2020
comment
Я загрузил SDK для .NET 4.8 и выбрал его в качестве цели приложения. Угадайте что, он по-прежнему не запускается. когда мы дважды щелкнули по .exe, кажется, что он открывается, но может произойти сбой до того, как отобразится его оконная форма. к сожалению, сбой без какого-либо сообщения. есть ли способ, чтобы окно всегда отображало окно сообщения при любом сбое программы?   -  person Haitham Sungkar    schedule 05.06.2020
comment
Что ж, вы проверили целевой компьютер на: 1 - 32-битный или 64-битный компьютер по сравнению с вашей сборкой проекта? 2- Требуются ли вашему проекту права администратора для работы на целевом ПК или нет? 3- Если вы установили правильный .net framework 4.8, прочтите [this] docs.microsoft.com/en-us/dotnet/framework/install/ 4- Правильно ли вы упаковали свои зависимости в сборку EXE? ........... Есть еще много опасений. Просто проверьте их, прежде чем мы поговорим о КОДЕ.   -  person evry1falls    schedule 05.06.2020


Ответы (1)


Наконец-то это работает. Даже скомпилированный для целевой .NET 4.6.1 все еще работает на компьютере .NET 4.8. Проблема в том, что мое приложение нацелено на другое приложение, использующее интерфейс COM взаимодействия, в то время как лицензии недостаточно для пользователя, чтобы разрешить интерфейс COM. мы замечаем это, когда, наконец, создаем чистую простую форму окна, а затем выполняем пошаговую компиляцию при добавлении каждой функции.

Извините всех за этот глупый случай. И приношу особые извинения evry1falls за потраченное время.

Я подумываю изменить этот вопрос или удалить его. потому что это вообще не проблема

Актуальная проблема: я создал приложение Windows Form, начиная с пустого проекта. И я не знаю, что необработанное исключение .NET по умолчанию не активировано. При создании из шаблона проекта Windows Form отображается сообщение «Необработанное исключение».

Я создал еще один вопрос по этому поводу: Здесь

person Haitham Sungkar    schedule 05.06.2020