Bạn đặt câu hỏi đã tải. C# chỉ là một ngôn ngữ và không yêu cầu .NET Framework. Quá trình biên dịch nó đòi hỏi một trình biên dịch, có thể hoặc có thể không tự nó phụ thuộc vào .NET Framework (trình biên dịch C# của Microsoft không - nó được viết bằng mã gốc). Chương trình của bạn sẽ cần phải tham khảo một số hội đồng nơi mà các loại, các lớp học, và các phương pháp có thể được tìm thấy cho bạn sử dụng. Bạn có thể xóa system.dll và mscorlib.dll khỏi danh sách tham chiếu của bạn và tham khảo các hội đồng của riêng bạn. Vì vậy, bạn có thể tránh các phụ thuộc trên .NET Framework nếu bạn thực sự làm việc ở đó. Nhưng cuối cùng, trừ khi bạn có trình biên dịch C# để biên dịch chương trình thành mã gốc, bạn vẫn có một sự phụ thuộc vào CLR.
Đó là một cách rất kỹ thuật để nói ... hầu như không có gì. Nhưng nó trả lời câu hỏi của bạn. Tuy nhiên, thực tế hữu ích hơn là làm thế nào để các chương trình C# của bạn chạy với một số phụ thuộc tối thiểu. mkbundle từ mono sẽ thực sự cho phép bạn biên dịch tất cả thành một .exe với hầu như không có phụ thuộc. Nếu bạn muốn gắn bó với Microsoft .NET Framework, bạn có thể đạt được một dấu chân nhẹ hơn nhiều và cài đặt nhanh hơn các phụ thuộc mà bạn thường cần bằng cách sử dụng Hồ sơ khách hàng của .NET 3.5 SP1. Bạn có thể đọc về điều này tại đây: http://msdn.microsoft.com/en-us/library/cc656912.aspx
Nguồn
2009-02-15 20:53:31
rất thông tin - cảm ơn bạn –
Tôi đang cố gắng làm điều tương tự với Visual Studio và tôi đang được thông báo rằng điều đó là không thể. – muttley91
"Điều tương tự" này là gì? Tôi nói về một số tùy chọn ở đây. –