Могут ли приложения С# работать без платформы .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. Это раздувает вашу установку, но это в значительной степени единственный способ сделать то, что вам нужно.
Ответ 7
Вам потребуется .NET Runtime. Тем не менее, большинство компьютеров, на которых запущены Windows, уже есть.
Ответ 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