Почему приложения на C # разрабатываются в Visual Studio больше, чем приложения, разработанные в Mono? - PullRequest
0 голосов
/ 14 февраля 2019

Недавно я заметил, что при компиляции исполняемого файла C # на основе консоли в MCS и CSC получающиеся в результате файлы .EXE имеют меньший размер, чем если бы я создал проект консольного приложения Visual Studio (.NET Framework) и скомпилировал его тогда.Я использую Visual Studio 2017, Mono 5.18.0.240, MCS 5.18.0.0, CSC 2.8.2.62916 (2ad4aabc) и .NET Framework 4.7.1.Мой вопрос касается того, ПОЧЕМУ приложения Visual Studio больше, а не КАК сделать их меньше.

Используя приведенный ниже код:

MCS и CSC оба дают EXE-файл ~ 3 КБ,Консольное приложение Visual Studio (.NET Framework) дает EXE-файл размером ~ 5 КБ.

Hello_World.cs

using System;

class SomeClass {
    static void Main(string[] args) {
        Console.WriteLine("Hello World");
    }
}

Теоретически MCS / CSC не долженФайлы .EXE и консольные приложения Visual Studio (.NET Framework) имеют одинаковый размер?Я где-то слышал, что Microsoft использует Roslyn в качестве компилятора Visual Studio C #, но тогда какой смысл CSC?Зачем разрабатывать другой компилятор C #?

...