Thaana Paana Ответов: 3

C# вызовите файл .cs, который находится в проводнике через мое приложение [решено]


Я пытаюсь запустить cs-файл(с аргументами), который находится в моем проводнике(а не через мою IDE). В файле cs будет один метод с именем "main", я хочу запустить его с аргументами через свое консольное приложение.

РЕДАКТИРОВАТЬ:

Если вы здесь для того же самого, :-]

построение компилятора - можно ли динамически компилировать и выполнять фрагменты кода C#? - переполнение стека[^]
Использование CodeDOM | Microsoft Docs[^]
Генерация и компиляция исходного кода из графика CodeDOM | Microsoft Docs[^] // содержал то, что мне нужно

Что я уже пробовал:

неужели поиск не может найти хорошего ответа, ответа, который работает на меня. Обычно я сталкиваюсь с темой, связанной с "запуском cs-файла через мою IDE", я пытаюсь запустить cs-файл, который находится в моем проводнике через мое консольное приложение.

3 Ответов

Рейтинг:
5

MadMyche

Вы не можете вызвать его напрямую.

Все, что вы можете сделать, это выбрать, скомпилировать и затем выполнить на лету в вызывающей программе


Thaana Paana

спасибо за полезную информацию, не знал, что это так работает! я уже некоторое время кодирую(самоучка c#) xd

Рейтинг:
21

OriginalGriff

Для этого вам нужно скомпилировать его - это нормально, потому что каждая установка .NET включает компилятор C#, CSC.EXE: Компиляция кода C# во время выполнения[^]
Затем вы можете запустить его с помощью Process.Запуск (если он компилируется чисто): Процесс.Метод Запуска (System.Диагностика)[^]


Thaana Paana

компиляция c# , похоже, находится в довольно узкой области знаний, но я собираюсь попробовать, И знаете ли вы какой-нибудь другой API, способный компилировать c# во время выполнения? также следовало бы поискать "vs c# runtime compile and execute" в google + вот похожая тема, если кому-то интересно.

https://stackoverflow.com/questions/826398/is-it-possible-to-dynamically-compile-and-execute-c-sharp-code-fragments

OriginalGriff

Есть Mono - но это еще более "экспертный требуется", так как Mono не установлен с .NET, так что ваша программа развертывания должна была бы справиться с этим - и это большой пакет!

Компиляция не сложна: ссылка дает пример.

Рейтинг:
0

F-ES Sitecore

Вы не можете выполнить cs-файл, cs-файл-это просто текстовый файл. IDE преобразует этот текст в скомпилированный код, который можно запустить.