gpt4 book ai didi

c# - 即时编译并运行程序

转载 作者:行者123 更新时间:2023-11-30 19:11:04 26 4
gpt4 key购买 nike

我有一个奇怪的要求,我被要求用 VBScript 编写某个验证脚本,因为它是纯文本的。但我更喜欢 C#。那么有没有办法在 Task Scheduler 中安排它,以便编译器编译程序(.cs 文件中的源代码)并即时运行它。

最佳答案

作为单个自编译 CMD 批处理文件,这真的很容易做到。这是纯文本且可运行(来 self 的博客条目 - Dynamically Create an Executable from user-data Text)。

您可以将此文本文件作为批处理文件直接调用,它将作为 EXE 文件运行。只需使用 .CMD 扩展名(包括所有 C# 代码)保存文件并正常运行即可。

/* This section is run in batch file mode
%FrameworkDir%%FrameworkVersion%\csc.exe /nologo /out:bootstrap.exe /Reference:%FrameworkDir%%FrameworkVersion%\System.Net.dll "%0"
goto end
*/

using System;

static class Program
{
static void Main(string[] argv)
{
if (argv.Length > 0)
Console.Write(argv[0]);
Console.WriteLine();
}
}
/*
:end

REM ** Run the program
BootStrap.exe "Hello world!"
REM */

/* */ 注释允许您将批处理文件命令放入编译自身,当然它们会被 C# 编译器忽略。批处理 (CMD) 文件将跳过错误到下一行,因此该文件像 EXE 一样运行,除了它是文本。作为改进,您可能希望将 /out 目标更改为 %TEMP% 中的某个位置。

[更新]更简单的 Hello World 示例。

关于c# - 即时编译并运行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13485026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com