Usted hace una pregunta cargada. C# es simplemente un lenguaje y no requiere .NET Framework. El proceso de compilación requiere un compilador, que puede o no tener una dependencia de .NET Framework (el compilador de C# de Microsoft no está escrito en código nativo). Su programa necesitará hacer referencia a algún ensamblaje donde se puedan encontrar tipos, clases y métodos para su uso. Usted puede eliminar system.dll y mscorlib.dll de su lista de referencias y hacer referencia a sus propios ensamblajes. Por lo tanto, puede evitar dependencias en .NET Framework si realmente trabaja en ello. Pero al final, a menos que tenga un compilador de C# que compila programas con código nativo, todavía tiene una dependencia en el CLR.
Esa es una forma muy técnica de decir ... casi nada. Pero responde tu pregunta. :) Sin embargo, más útil desde el punto de vista práctico es cómo hacer que tus programas C# se ejecuten con un mínimo de dependencias. mkbundle from mono realmente te permitirá compilarlo todo en un .exe virtualmente sin dependencias.
Pero si quiere seguir con Microsoft .NET Framework, puede lograr un espacio mucho más ligero y una instalación más rápida de las dependencias que comúnmente necesita utilizando el perfil de cliente de .NET 3.5 SP1. Puede leer al respecto aquí: http://msdn.microsoft.com/en-us/library/cc656912.aspx
muy informativo - gracias –
Estoy tratando de hacer lo mismo con Visual Studio, y me dicen que es imposible. – muttley91
¿Qué es "esto mismo"? Hablo de varias opciones aquí. –