Est-il possible de compiler .NET IL code en code machine?
Je tiens à distribuer mes .NET des programmes sans l' .NET framework. Est-il possible de compiler un .NET programme en code machine?
Vous devez vous connecter pour publier un commentaire.
Je tiens à distribuer mes .NET des programmes sans l' .NET framework. Est-il possible de compiler un .NET programme en code machine?
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez à l'aide de précompiler Ngen.exe cependant cela ne supprime pas la CLR de la dépendance.
Vous devez continuer à expédier les IL des assemblages ainsi, le seul avantage de Ngen est que votre application peut démarrer sans faire appel à l'équipe, de sorte que vous obtenez une véritable démarrage est rapide.
Selon CLR Via C#:
EDIT:
Il y a débat sur le dessus de info de CLR Via C#, comme certains le disent, que vous sont nécessaires pour exécuter Ngen sur la machine cible uniquement dans le cadre de la procédure d'installation.
ngen
peut être invoquée par le processus d'installation sur la machine cible, et pour autant que je sais que c'est fait pour les différents produits Microsoft mis en œuvre .NET.ngen
est pour être invoquée sur la machine cible.ngen
installe une image native dans le la machine locale GAC! Précompilation sur le développeur de la machine serait inutile.Remotesoft a un:
La salamandre .NET de l'éditeur de liens
Je n'ai aucune expérience avec elle si.
Il y a quelques outils de tiers qui ne sont, par exemple,
Un autre (cher et de propriété, permis de commencer à $1599) produit qui peut faire, c'est Xenocode Postbuild. Ne l'ai pas utilisé moi-même bien que, avec elle, coûtant environ du produit national brut d'un petit pays d'Afrique et de tous les...
Oui, mais le .NET Framework-t-il pour vous au moment de l'exécution (par défaut) ou au moment de l'installation (ngen). Parmi d'autres raisons, ce IL -> code machine est faite séparément sur chaque installation de la machine de sorte qu'il peut être optimisé pour cette machine en particulier.
Pas, pour toutes fins utiles, vous ne pouvez pas faire cela. La 3e partie des solutions de contournement peuvent fonctionner dans certains scénarios, mais je ne serais pas vraiment le considérer "code managé" ou ".NET" plus.
Oui, vous pouvez dès maintenant! Récemment, Microsoft a annoncé .NET Native, un morceau de technologie qui permet de compiler votre application avec .NET runtime Native (ils appellent ça MRT) dans un fichier binaire (en fait l'un exécutable et une bibliothèque dynamique).
Voir les liens:
http://blogs.msdn.com/b/dotnet/archive/2014/04/02/announcing-net-native-preview.aspx
http://blogs.msdn.com/b/dotnet/archive/2014/04/24/dotnetnative-performance.aspx
Il est IL2CPU pour la compilation de la partie.
Je ne pense pas que c'est possible. Vous pouvez faire un prejitted de l'assemblée, mais vous avez encore besoin de le cadre.
Si vous avez juste une question, avec la taille de déploiement du Framework, vous pouvez lire sur cette.
Je pense que vous ne devriez pas: C'est la tâche du compilateur JIT.
Cependant, vous pouvez utiliser ClickOnce ou le programme d'installation de Windows pour déployer de sorte que le manque de cadre n'est pas un gros problème: on pourrait dire le programme d'installation pour télécharger le Cadre et l'installer.
Regarder project MONO: mono commande avec l'option --aot option. http://www.mono-project.com/AOT
J'avais toujours pensé que ce serait cool de le compiler en c# en code machine directement, sans CLR dépendance quoique....