Fai una domanda caricata. C# è semplicemente un linguaggio e non richiede .NET Framework. Il processo di compilazione richiede un compilatore, che può o non può di per sé prendere una dipendenza da .NET Framework (il compilatore C# di Microsoft non lo fa - è scritto in codice nativo). Il tuo programma dovrà fare riferimento ad alcuni assembly in cui tipi, classi e metodi possono essere trovati per il tuo uso. È possibile can rimuovere system.dll e mscorlib.dll dall'elenco dei riferimenti e fare riferimento ai propri assembly. In questo modo è possibile evitare le dipendenze da .NET Framework se si lavora veramente su di esso. Ma alla fine, a meno che tu non abbia un compilatore C# che compila programmi in codice nativo, hai ancora una dipendenza dal CLR.
Questo è un modo molto tecnico di dire ... quasi nulla. Ma risponde alla tua domanda. :) Più praticamente utile, tuttavia, è come far funzionare i programmi C# con un minimo di dipendenze. mkbundle da mono in realtà ti consente di compilare tutto in un exe con praticamente nessuna dipendenza.
Ma se si vuole rimanere con il Microsoft .NET Framework, è possibile ottenere un ingombro molto più leggero e più veloce l'installazione delle dipendenze che sono comunemente utilizzate utilizzando il profilo del client di .NET 3.5 SP1. Puoi leggere qui: http://msdn.microsoft.com/en-us/library/cc656912.aspx
fonte
2009-02-15 20:53:31
molto informativo - grazie –
Sto provando a fare la stessa cosa con Visual Studio, e mi viene detto che è impossibile. – muttley91
Cos'è "questa stessa cosa"? Parlo di diverse opzioni qui. –