[英]How to embed System.Data.SQLite.dll to my Class Library?
我正在為SQLite構建類庫,當我構建項目時,System.Data.SQLite.dll作為一個獨立的dll文件出現,我需要將其與類庫合並到一個單獨的dll文件中,並添加了System.Data。然后將.SQLite.dll作為資源添加/現有項,然后將其添加為嵌入式資源
然后我將這個靜態承包商放在我的命名空間的開頭
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的錯誤:期望的類,委托,枚舉,接口或結構體感謝您的任何幫助
如果要從兩個組裝一個,可以嘗試ILMerge 。
這最終將失敗。 System.Data.SQLite是SQLite.Interop.dll的PInvoke包裝,后者是一個非托管dll,無法在.net中解析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.