'csc' не распознается как внутренняя или внешняя команда, работающая программа или командный файл

Я довольно новичок в C# и пытаюсь использовать cmd для компиляции основного файла hello world test.cs, Он содержит следующее:

// Similar to #include<foo.h> in C++, includes system namespaces in a program

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    // A name space declaration, a class is a group of namespaces
    namespace Program1
    {
        class Hello // my class here, classes can contain multiple functions called methods which define it's behavior
        {
            static void Main(string[] args) // main method, just like in C/C++ it's the starting point for execution cycle
            {
                Console.WriteLine("Hello World");
                Console.ReadKey(); // similar to _getch() in C++ waits for user to input something before closing
            }
        }
    }

    /*
     * Other notes, .cs is a c# file extension
     * cs files can be built via terminal by using csc foo.cs to generate foo.exe run it with foo
     */

Когда я пытаюсь запустить линию csc test.cs Я получаю следующий вывод: img вопроса

1 ответ

Решение

Найдите путь csc.exe и добавьте его PATH переменная окружения.

В моем случае путь для 64-битного компилятора C# C:\Windows\Microsoft.NET\Framework64\v4.0.30319,

Точно так же вы можете найти 32-битный компилятор C# в C:\Windows\Microsoft.NET\Framework в разных каталогах версий.NET Framework

Будет csc.exe для всех версий, таких как v2.0.XXXXX и v3.5. Выберите тот, у которого самая высокая версия в каталоге Framework64/Framework, в зависимости от ваших требований.

Скопируйте путь к csc.exe и добавьте его в системную переменную среды PATH.

Выйдите из cmd, а затем снова запустите и запустите программу. Это бы сработало.

Другие вопросы по тегам