C# 在运行时创建dll文件';我不能在c工作#

C# 在运行时创建dll文件';我不能在c工作#,c#,dll,.net-assembly,C#,Dll,.net Assembly,我试图在运行时创建一个DLL文件,事实上,我需要将编码数据保存到DLL。我的代码如下: class DllFile { public static void CreateDllFile(string source) { var provider = new CSharpCodeProvider(); var options = new CompilerParameters {

我试图在运行时创建一个DLL文件,事实上,我需要将编码数据保存到
DLL
。我的代码如下:

 class DllFile
    {
        public static void CreateDllFile(string source)
        {
            var provider = new CSharpCodeProvider();
            var options = new CompilerParameters
            {
                OutputAssembly = "test.dll"
            };

        var results = provider.CompileAssemblyFromSource(options, new[] { source });
        }
    }
我希望从这段代码中创建一个dll文件,但它不会创建

The error is :The pointer for this method was null

致以最诚挚的问候。如果您有任何想法,我们将不胜感激。

编译错误将通过返回值报告:

var results = provider.CompileAssemblyFromSource(options, new[] { source });
现在检查
结果
,尤其是
结果。错误


您还可以检查
结果。NativeCompilerReturnValue
-如果成功,则该值应为
0
,如果失败,则该值应为非零。

任何错误都将出现在CompileAsemblyFromSource方法返回的的errors属性中。你试过把它们打印出来看看是否有错误吗

CompilerResults results = provider.CompileAssemblyFromSource(options, new[] { source });

foreach(CompilerError error in results.Errors)
{
      Console.WriteLine(error.ToString());
}

检查
compileasemblyfromsource
的结果。它很可能是在内存中构建的。检查结果,这里是MSDN文章底部的示例代码@500 InternalServerError我怎么做亲爱的朋友?谢谢亲爱的朋友错误是:Message=“此方法的指针为null”。当我展开结果错误时,我看到此错误:命名空间不能直接包含字段或方法等成员“@EA then:您发送给它的C#无效。修复
source
@EA中的数据这里
source
的值是多少?它应该是完全有效的C代码。毕竟,您正在将它传递给一个C#编译器,而不仅仅是一个随机的dll创建者。@EA这不是C#。您正在使用(本质上)垃圾调用C#编译器。那是行不通的。出于完全相同的原因,如果将
DF3343223232JJFGJFHGJFGF
放入Visual Studio中的
.cs
文件并点击“build”,则该方法不起作用。亲爱的朋友,我的错误是:错误是:此方法的指针为空。您需要为编译器提供正确的C代码,并包含命名空间、类声明和方法。你不能编译代码片段。你知道这段代码以前已经运行过了,我只需要在dll文件中存储编码数据。你知道我需要在dll中存储许可证代码,然后再次读取