Могут ли приложения С# работать без платформы .NET?

Я намерен изучить С# и начать кодирование приложений Windows.exe, но единственное, что меня удерживает, это то, что не все потенциальные пользователи имеют установленную платформу .NET и поэтому не смогут запускать мое приложение.

Есть ли способ обойти это?

Спасибо!

Ответ 1

ДА, был XenoCode, который может обернуть все, что нужно вашему приложению, и запускает его как автономный. Я не знаю, какие грязные трюки они используют, но есть способ.

Теперь он Spoon

Со своего сайта:

Студия Spoon

Простота виртуализации всех ваших приложений для мгновенного, нулевую установку на Spoon Server и Spoon.net.

Spoon Studio позволяет конвертировать существующие приложения в виртуальные приложения которые запускаются без установки, конфликтов или зависимостей.

Кстати, я никоим образом не связан с ними - просто любопытно, примет ли сообщество его или пламя.

Ответ 2

Нет. С# only target.NET(или сопоставимая структура, например моно). В стороне, Win7 поставляется с предустановленной .NET, и я считаю, что Vista тоже. Также есть тонна приложений MS, для которых требуется .NET. Он приближается к вездесущим машинам на окнах, поэтому я не стал бы беспокоиться об этом.

Ответ 3

С# - это просто язык программирования. С технической точки зрения, кто-то может разработать компилятор С#, который нацелен на Windows API или вставить вашу целевую платформу здесь > непосредственно. Конечно, это было бы очень тяжело, потому что С# был разработан для соответствия .NET, а это значит, что разработчику компилятора, по сути, придется повторно реализовать .NET, чтобы предоставить все возможности С#.

С практической точки зрения, вы просто хотите использовать С# для установки на .NET или Mono.

Ответ 4

Это не о С#. Это о том, хотите ли вы разрабатывать управляемые или неуправляемые приложения. С# - это выбор для разработки управляемых приложений, которые выполняются на платформе .NET Framework.

Если вы хотите этого избежать, вы можете перейти к Visual С++ (без .NET), используя Visual Studio

Однако .NET framework поставляется с предустановленными последними версиями, такими как Win 7 в эти дни.

Ответ 5

NO так просто, как

Все могут сказать, что он уже установлен/или вам нужно время выполнения. Но это означает ВАМ НУЖНО

Ответ 6

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

Ответ 8

Я знаю, что вы указали .exe, но если вы создадите свое приложение С# в качестве приложения ASP.NET, вашим пользователям не понадобится .NET framework, браузер будет им нужен.

Ответ 9

Microsoft начала поставлять .NET 2.0 с XP с 2005 года. Таким образом, даже если ваша целевая машина была куплена где-то за последние 8 лет, она все равно должна иметь .NET.

Если вы нацеливаете Linux-машины, с другой стороны, для этого есть моно-структура. Вам даже не нужно включать его, большинство репозиториев, таких как ubuntu, debian и т.д., Имеют пакеты, доступные для моно в своих репозиториях. Все, что вам нужно сделать, это сделать свой собственный пакет зависимым от времени выполнения Mono.

Ответ 10

Да, с .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