C# 如何将System.Data.SQLite.dll嵌入到我的类库中?

C# 如何将System.Data.SQLite.dll嵌入到我的类库中?,c#,sqlite,C#,Sqlite,我正在为SQLite构建一个类库,当我构建项目时,System.Data.SQLite.dll作为一个独立的dll文件出现,我需要它与我的类库合并在一个dll文件中 我将System.Data.SQLite.dll添加为ressource,然后添加/现有项,然后将其添加为嵌入式资源 然后我把这个静态构造函数放在名称空间的开头 static SimpleClass() { AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =

我正在为SQLite构建一个类库,当我构建项目时,System.Data.SQLite.dll作为一个独立的dll文件出现,我需要它与我的类库合并在一个dll文件中 我将System.Data.SQLite.dll添加为ressource,然后添加/现有项,然后将其添加为嵌入式资源

然后我把这个静态构造函数放在名称空间的开头

static SimpleClass()
{
    AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
    {
        if (new AssemblyName(args.Name).Name.ToLowerInvariant() == "System.Data.SQLite")
        {
            String resourceName = "SQLlite." + new AssemblyName(args.Name).Name + ".dll";
            using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
            {
                Byte[] assemblyData = new Byte[stream.Length];
                stream.Read(assemblyData, 0, assemblyData.Length);
                return Assembly.Load(assemblyData);
            }
        }
        else
        {
            return null;
        }
    };
}
这给了我错误,比如错误CS1518:预期的类、委托、枚举、接口或结构
感谢你们的帮助

如果你想从两个组件中制作一个组件,你可以尝试。

这最终会失败。System.Data.SQLite是SQLite.Interop.dll的PInvoke包装,它是一个非托管dll,在.net中无法解析。

这是一个编译错误,如果您尝试执行如此复杂的操作,您应该能够知道如何修复此类错误。如果您需要有关编译错误的帮助,请至少显示行号。虽然我不认为你的问题应该用这种方式来解决。这在这里得到了有效的回答——这应该提供很多关于如何将你的类合并在一起的建议。