public void ExecuteProgram(string code)
{
try
{
CodeDomProvider cdp = CodeDomProvider.CreateProvider("C#");
CompilerParameters cps = new CompilerParameters();
//添加DLL引用,设置参数
var reference = Assembly.GetExecutingAssembly().GetReferencedAssemblies();
string[] dll = new string[reference.Length];
for (int i = 0; i < reference.Length; i++)
{
dll[i] = reference[i].Name + ".dll";
}
cps.ReferencedAssemblies.AddRange(dll);
cps.GenerateInMemory = true;
cps.GenerateExecutable = false;
string codeTxt = code; //这里就是要编译的代码
//编译
CompilerResults rst = cdp.CompileAssemblyFromSource(cps, codeTxt);
if (rst.Er
C#脚本代码动态编译执行案例
最新推荐文章于 2025-02-14 10:00:00 发布
本文详细介绍了如何在C#中实现代码动态编译和执行,包括使用`CSharpCodeProvider`和`CompilerResults`等关键类进行编译,以及通过`Assembly`加载并执行编译后的代码,为开发者提供了在运行时动态操作C#代码的实践指导。

最低0.47元/天 解锁文章
385

被折叠的 条评论
为什么被折叠?



