Як я можу скласти проект .NET без встановлення Visual Studio?


36

Я хочу скласти проект .NET / C #, але я не хочу встановлювати Visual Studio для цього.

Які інструменти мені потрібні та як я можу скласти проект?


Чи не допоможе вам Visual Studio Express?
svick

1
@svick: Якщо мені знадобиться мати його для складання проекту, то я би використовував його. Але в цьому випадку це не потрібно, тому мені не доведеться встановлювати його на кожній машині, де я хочу розгорнути проект. Я можу просто витягнути копію з VCS, скласти її та запустити. Встановлення VS Express мало би ускладнило весь процес.
Der Hochstapler

У цьому випадку більш простим рішенням може бути розгортання складеної збірки. Таким чином, вам не потрібно робити якісь компіляції на кожній машині.
svick

@svick: Дякую за ваше розуміння, але розгортання двійкових файлів також ненадовго перехрестило мою думку. Якби я вважав це вигідною альтернативою в цьому випадку, я би це зробив. Коли це було сказано, це питання та відповідь були розміщені, щоб просто описати процес. Вирішити, чи є цей процес шляхом проходження у справі користувачів, залишається за ними рішення.
Der Hochstapler

Відповіді:


37
  1. Завантажте та встановіть останню версію .NET Framework.
    Наприклад, ви можете використовувати інсталятор для інсталятора .NET Framework 4.5 .

  2. Відкрийте командний рядок та перейдіть до каталогу встановлення .NET Framework.
    Наприклад:

    cd \Windows\Microsoft.NET\Framework\v4*
    
  3. Використовуйте MSBuild.exeдля складання свого рішення.
    Наприклад:

    msbuild "C:\Users\Oliver\Documents\My Project\My Project.sln" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU"

Якщо проект використовує пакети NuGet, ви можете виконати наступні кроки для їх отримання:

  1. Завантажте завантажувач командного рядка NuGet.exe і, наприклад, розмістіть його всередині каталогу рішень.

  2. Відкрийте командний рядок та перейдіть до каталогу рішення.
    Наприклад:

    cd "C:\Users\Oliver\Documents\My Project"
    
  3. Надішліть NuGet.exeоновлення пакетів, необхідних для цього рішення:

    NuGet.exe install "My Project/packages.config" -o packages/
    

Приємно! Будь-які посилання на документацію MSBuild? Крім того, це для проекту VS вже є, правда? Що з компіляцією коду в .CS або інших вихідних файлах?
Каран

2
@Karan - Хтось хотів би відповісти на основі цієї статті msdn.microsoft.com/en-us/library/vstudio/78f4aasd.aspx ?
Рамхаунд

@Ramhound: Я думаю, хтось знаючий може також включити все це в одну відповідь типу FAQ. Також деякі подальші питання, які можна вирішити. Чи також csc.exe в комплекті з установкою .NET Framework для кінцевого користувача? Чи включається він, якщо ви встановлюєте лише профіль клієнта?
Каран

1
@Karan: Я додав посилання на MSBuild.exeдокументацію аргументу командного рядка. Так, це для проекту, який вже є на локальній машині (можливо, завантажений з GitHub). Як згадує Рамхаунд, csc.exeце інструмент для збирання окремих файлів. csc.exeтакож входить до .NET Framework. Це основний компілятор C #, і MSBuild, ймовірно, просто викликає його. Не впевнений у профілі клієнта, але я б припустив, що вони включені до нього.
Der Hochstapler

1
Однією з причин, яку csc.exeпотрібно включити, є те, що профіль клієнта включає XmlSerializerклас. Цей клас генерує збірки серіалізації (використання csc.exe) під час виконання.
важкий

3

Якщо ви хочете уникати встановлення Visual Studio, ви можете спробувати Mono , кросплатформенний і відкритий. Mono заснований на опублікованому стандарті ECMA для C # і безпосередньо сумісний з попередньо складеними програмами C #.

Моно також включає інструмент під назвою XBuild, який може повністю замінити MSBuild. Дивіться цю статтю проекту Mono щодо перенесення проекту з MSBuild на XBuild. Однорядковий опис XBuild з Вікі:

xbuild - це реалізація msbuild від Mono, і вона дозволяє автоматично створювати проекти, у яких є файл msbuild.

Зауважте, що крім Linux, підтримуються також Windows та Mac OS X.


1
Чи є якась причина, яку можна було б використовувати monoу Windows?
Рішав

2
@Rishav Політичні міркування? Можливо, для того, кому потрібно користуватися Windows, але хоче використовувати якомога менше інших технологій Microsoft. Тільки спекулюючи, хоча.
Джеймі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.