C# 如何将System.Data.SQLite.dll嵌入到我的类库中?
我正在为SQLite构建一个类库,当我构建项目时,System.Data.SQLite.dll作为一个独立的dll文件出现,我需要它与我的类库合并在一个dll文件中 我将System.Data.SQLite.dll添加为ressource,然后添加/现有项,然后将其添加为嵌入式资源 然后我把这个静态构造函数放在名称空间的开头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) =
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中无法解析。这是一个编译错误,如果您尝试执行如此复杂的操作,您应该能够知道如何修复此类错误。如果您需要有关编译错误的帮助,请至少显示行号。虽然我不认为你的问题应该用这种方式来解决。这在这里得到了有效的回答——这应该提供很多关于如何将你的类合并在一起的建议。