it-roy-ru.com

Создайте автономный exe-файл без необходимости установки .NET Framework

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

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

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

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

14
Charlotte Vancraeynest

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

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

То же самое, если вы хотите выполнить программу на Java. Вам нужно будет установить Java Machine.

Единственный способ не устанавливать фреймворки - это программировать нативные приложения на C, C++.

10
Carlos Landeras

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

8
PeterFnet

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

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

Обновление 2018:

Не ориентируйтесь на .NET 2.0 или 3.5. Это не совместимо с версией 4.x. Однако целевые двоичные файлы .NET 4.0 работают с .NET Framework 4.0, 4.5, 4.6, 4.7 и т.д. Таким образом, чтобы достичь максимальной совместимости , скомпилируйте с .NET 4.0 . Вы должны будете признать, что некоторые функции не будут доступны, однако ваш двоичный файл будет работать практически везде.

(2018: на данный момент .NET 2.0 - 3.5 имеет гораздо более низкое распространение, чем 4.x)

7
bytecode77

Delphi - ваше решение, разверните собственные исполняемые файлы bin

5
LEONARDO A LINDEN

ДА, ЭТО IS ВОЗМОЖНО!

Существует как минимум 3 способа:

1.Вы можете проверить все операционные системы, которые вы планируете запустить и собрать с такой версией .NET. В Windows есть встроенные фреймворки libs.

Vista-.NET v3.0 - все сервисные пакеты

Windows 7 - .NET v3.5 - Все версии и пакеты обновления

Windows 8 - .NET v4.0 [Лучший выбор, если вы не уверены]

Windows 8.1 - .Net v4.5

Windows 10 - .Net v4.6

так как они уже предварительно установлены по умолчанию - дополнительная установка не требуется.


2.Вы можете скомпилировать его в собственный код (но не в CIL) с помощью .NET Native. Это означает, что для приложений не требуется .Net Framework. 

Но похоже, что он работает только с Windows 10.


3. Существует Turbo Studio (ранее Spoon и ранее XenoCode ), который может обернуть все, что нужно вашему приложению, и запустить его как автономный. 

С их сайта:

Турбо Студия

Запустите .NET без .NET. Легко встраивайте зависимости времени выполнения, такие как .NET, Java и SQL, непосредственно в виртуальные приложения. Надежно запускать на любом рабочем столе, независимо от установки базового компонента.

0
Andrew

Вы можете использовать Mono и статически связывать свою программу, поэтому вашей программе не требуется среда выполнения .NET CLR, и она действует как отдельная программа.

Моно Проект

0
dns