随笔 - 317, 文章 - 0, 评论 - 453, 阅读 - 114万
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

C# 动态编译DLL

Posted on   PHP-张工  阅读(103)  评论(0编辑  收藏  举报
复制代码
string code = @"
using System;
namespace CompilerTool
{
    class Class1
    {
        public Class1()
        {
        }
        public string now()
        {
            return DateTime.Now.ToString(""yyyy - MM - dd HH: mm: ss"");
        }
        public string Hello(int i)
        {
            return (i + 1).ToString();
        }
    }
}
";

CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
CompilerParameters objCompilerParameters = new CompilerParameters();
objCompilerParameters.ReferencedAssemblies.Add("System.dll");
objCompilerParameters.GenerateExecutable = false;
objCompilerParameters.GenerateInMemory = false;
objCompilerParameters.OutputAssembly = "Class1.dll";

CompilerResults cr = provider.CompileAssemblyFromSource(objCompilerParameters, code);

if (cr.Errors.HasErrors)
{
    showInfo("编译错误:");
    foreach (CompilerError err in cr.Errors)
    {
        showInfo(err.ErrorText);
    }
}
else
{
    showInfo("编译完成:" + cr.Output);
}
复制代码

 

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示