2013-05-23 2 views
11

Я студент и на данный момент я занимаюсь стажировкой в ​​компании. Эта стажировка посвящена анализу проекта. Для этого проекта я сделал демонстрацию, чтобы показать директору по маркетингу. Демо, которое я сделал, представляет собой простой проект, созданный в Visual Studio 2010 в C# с помощью Windows Forms и подключение к базе данных Access.Создайте автономный exe без необходимости устанавливать .NET framework

Итак, теперь я должен показать эту демонстрацию этому режиссеру в презентации, но после этой презентации режиссер хочет проект на своем компьютере, чтобы он мог попробовать и использовать его. Проблема в том, что компьютеры здесь, в этой компании, не имеют .NET framework 4.0, и компьютеры настолько защищены здесь, что мы не можем установить ничего нового. Чтобы установить что-то, вам нужно пройти процедуру, которая занимает недели.

Я посмотрел al через Интернет, но все, что я нашел, это как установить .NET framework.

Есть ли какой-либо возможный способ создания автономного exe без необходимости установки .NET framework? Пожалуйста помоги!

+0

В какой операционной системе вы нацеливаетесь? (И какой уровень пакета обновления?) –

+0

Все компьютеры здесь установлены с Windows 7, если это то, что вы имеете в виду. –

+0

И какой пакет обновления у них есть? Если у них есть пакет обновления 1, они будут иметь .Net 4.0, иначе они будут иметь .Net 3.5 (если .Net 4.0 был установлен отдельно от SP1) –

ответ

10

Если вы хотите выполнить приложение, разработанное с использованием Net Framework 4, вам необходимо установить .NET Framework 4 на клиентский компьютер.

Ваше приложение составлено в CIL (Common Intermediate Language), поэтому оно должно интерпретироваться движком фреймворка.

Это то же самое, если вы хотите выполнить программу Java. вам придется установить Java-машину.

Они только способ вам не нужно устанавливать рамки программирует нативные приложения с C, C++

+0

И даже с C++ вам, вероятно, потребуется установить распространяемый VC++ пакет. – flyx

+0

Вам не нужно будет устанавливать распространяемый пакет, если вы создаете проект Win32 в VisualC++. –

+0

Насколько сложно сменить проект C# на проект C++? –

5

Вы не можете построить C# исполняемый файл без .NET Framework. Даже если некоторые ресурсы указывают на то, что вы можете, это работает только теоретически.

Но вы можете использовать старую версию .NET Framework, такую ​​как .NET 2.0 или .NET 3.5. Если это не сработает для вас, вам нужно выбрать такой язык, как C++, который не требует .NET Framework.

+0

Моя программа теперь использует .NET 4.0. Могу ли я перейти на более раннюю платформу .NET без каких-либо проблем? –

+2

@CharlotteVancraeynest Вы можете изменить цель на .Net 3.5 и посмотреть, будет ли она строить. Это может быть, или это может быть не так - зависит, используете ли вы какой-либо новый материал .Net 4.x! –

+0

2016 Обновление: .NET 4.0-4.6 гораздо более широко распространен, чем среда выполнения .NET 2.0-3.5. Кроме того, они не являются «совместимыми» друг с другом, насколько это возможно. Используйте .NET Framework 4.0, который должен быть установлен буквально везде, за исключением, может быть, некоторых очень старых машин Windows XP. – bytecode77

6

Delphi ваше решение, развернуть родной бин Исполняемые

8

C# теперь поддерживает это с .NET Native.

Вместо того, чтобы компилировать на промежуточный язык, он будет скомпилирован к собственному коду и запускаться со статически связанными библиотеками .NET. Следовательно, для конечных пользователей не будет требований .Net Runtime.

https://msdn.microsoft.com/en-us/vstudio/dn642499.aspx

https://msdn.microsoft.com/en-us/library/dn584397(v=vs.110).aspx

работает только для Windows 10

+0

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

+0

@OlliP Обе статьи теперь ссылаются на то же самое. Упрощенная ссылка: [Компиляция приложений с .NET Native] (https://msdn.microsoft.com/en-us/library/dn584397.aspx) В ней объясняется, что вместо JIT для перевода IL на собственный код, Компилятор .NET Native компилируется непосредственно в собственный код. Далее поясняется, что необходимые части библиотеки будут статически связаны в исполняемом файле. Нет необходимости в .NET. > Во время предварительной компиляции требуемые части .NET Framework статически связаны с вашим приложением. Это позволяет приложению запускаться с помощью приложений-локальных библиотек .NET Framework – PeterFnet

+0

@OlliP. Я закончил текст в предыдущем ответе на комментарий. Я не много экспериментировал с развертыванием приложений с использованием этой технологии для других, но теоретическим недостатком может быть отсутствие обновлений .NET. ОС может захватывать обновления .NET с помощью Windows/Microsoft Update, но компилируемое приложение .NET не выиграет от этого. Это будет та же проблема, что и статическая привязка библиотек MFC DLL и LIB к EXE или DLL. – PeterFnet

0

Чтобы быть честным, это реально не проблема в настоящее время. .NET Framework найден почти на каждом компьютере в настоящее время, и вы даже можете сделать установщик с помощью Advanced Installer, который тихо устанавливает платформу .NET на вашем компьютере при установке программы.

+0

Еще не дефолт в Windows XP SP3, который по-прежнему широко используется в некоторых странах, даже в государственном секторе. –

 Смежные вопросы

  • Нет связанных вопросов^_^