#c# #.net
#c# #.net
Вопрос:
Недавно я написал небольшую программу и отправил ее в жестокий мир. Мир настолько жесток, что программа, кажется, слишком напугана, чтобы ее запускать.
Я написал ее на C #, используя Visual Studio 2013. Я не изменил никаких параметров, касающихся типа системы (x86 или x64). Он использует .NET framework 4.5.2. (В параметрах сборки проекта выбирается любой процессор и проверяется предпочтительный 32-разрядный)
Это ошибка, которую она выдает на некоторых машинах, которые не являются моими собственными:
На компьютере установлена операционная система Win7 x64. Я все еще определяю, установлена ли и какая версия .NET framework.
Может ли это быть связано с несовместимостью версий .NET? Например. у пользователя версия 3.5. Я не думаю, что тип системы должен быть проблемой, поскольку он нацелен на AnyCPU.
Идеи?
РЕДАКТИРОВАТЬ: .NET Framework не был проблемой. Явное изменение SystemType на 32bit приводит к запуску программы как на системах x86, так и на системах x64.
Это работает для меня, но может не работать для более крупного проекта, который по какой-то причине должен выполняться на 64-битном коде. Вы всегда можете распространить два двоичных файла для двух типов систем, но поскольку эта функция есть, я не понимаю, почему она не работает…
Комментарии:
1. Я бы не ожидал такого сообщения об ошибке, но да, вы не сможете запустить приложение, ориентированное на .NET 4.5.2, на компьютере, на котором установлен только .NET 3.5…
2. Ваша машина x86 или x64? Загружаете ли вы какие-либо сторонние библиотеки?
3. Похоже , что это сообщение об ошибке может указывать на 16-разрядный (!) компонент, который поддерживается в x86, но не в x64 Windows.
4. Программа не такая уж и необычная, а не специальная 16-битная. Он поставляется с библиотекой dll (написанной также мной), но пользователь имеет ее в нужном месте. Моя машина — x64 Win7. Я знаю, что приложение не будет работать на 3.5, но я не думаю, что оно выдало бы это сообщение, если бы это имело место здесь.
5. «Мир настолько жесток, что программа, кажется, слишком напугана, чтобы ее запускать». Ваша программа должна реализовать
IFearless
интерфейс.