Рейтинг:
1
Dave Kreskowiak
Последней версией .NET Framework, поддерживаемой в Windows 98, была версия 2.0 без пакета обновления. .NET 2.0 SP1 и выше не работают в Windows 98.
Кроме того, ваш проект должен быть нацелен на .NET 2.0. Если вы написали приложение для новой версии фреймворка, вам придется перейти в свойства проекта, вкладку приложение и изменить целевой фреймворк на ".NET Framework 2.0".
После этого перекомпилируйте проект. Возможно, вам придется внести изменения в код, чтобы приложение снова заработало. Вы переходите от более продвинутой версии фреймворка к более примитивной версии, которая не поддерживает все то, что делают более новые версии.
Далее, на машинах, на которых вы устанавливаете свое приложение, должен быть установлен распространяемый пакет .NET Framework 2.0, иначе ваше приложение не запустится.
SDanielCM
Дэйв, спасибо за быстрый ответ. Я изменил приложение на target .NET 2.0, как вы советовали, и теперь я получаю ошибку "A required .DDL file, MCSOREE.DLL, не был найден." Это связано с тем, что вы сказали?
Next, the machines you install your app on MUST have the .NET Framework 2.0 Redistributable installed otherwise your app will not launch.
Если это так, то как бы вы посоветовали решить этот вопрос? И снова я ценю ваше терпение с таким новым пользователем, как я.
Dave Kreskowiak
Вам придется загрузить Redis из другого источника, кроме Microsoft. Самая старая версия .NET, которую они имеют в открытом доступе, - это .NET 3.5, которая не будет работать на Win98.
Вы можете посмотреть на этот список[^] и попробуйте получить его из CNET или TechSpot.
SDanielCM
Мне придется пробежаться по этому делу с нашим ИТ-специалистом, прежде чем я смогу попытаться. Наше производственное оборудование работает в автономной сети, и я не хочу портить какое-либо оборудование, пытаясь восстановить операционную систему. Там также может быть какая-то причина .DLL была удалена намеренно.
Dave Kreskowiak
Это говорит о том, что "mscoree.dll" не существует, потому что платформа .NET Framework не установлена на машине.
При компиляции проекта код компилируется до уровня Microsoft Intermediate Language (MSIL). Это процессор-агностический "машинный код", который не будет работать ни на одном реальном процессоре.
Очень упрощенная версия того, что находится в этом EXE-файле, который создается, такова: это обычный исполняемый файл, называемый "заглушкой", и ваш код MSIL объединен вместе. "Заглушка" - это фрагмент кода, который загружает среду CLR .NET Framework Common Language Runtime (CLR) из mscoree.dll и передает ему указатель на ваш MSIL "код". Затем CLR начинает анализировать MSIL, извлекая то, что ему нужно для выполнения вашего кода, и вызывает то, что называется компилятором Just-In-Time, чтобы перевести код MSIL в собственные инструкции процессора, которые может выполнить ваш процессор.
SDanielCM
В настоящее время мы запускаем программное обеспечение автоматизации с домашним интерфейсом VB; разве не обязательно уже должна быть какая-то версия .NET Framework для выполнения этих команд?
Dave Kreskowiak
Более старый VB-это не то же самое, что VB.NET-да. VB6 и ниже не были основаны на .NET Framework. VS2017 не может писать или компилировать старомодный VB-код.
SDanielCM
Ладно, спасибо за разъяснение.