c # встраивать dll ресурсов

#c# #sqlite #dll

#c# #sqlite #dll

Вопрос:

У меня есть функция, которой нужен ресурс dll

     using (SQLiteConnection c = new SQLiteConnection("Data Source=logindata;Version=3;"))
    {
    }
  

для этого требуется: SQLite.Interop.dll

поэтому вместо того, чтобы помещать эту dll в ту же папку среды, я использую ее как встроенный ресурс :

    [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            AppDomain.CurrentDomain.AssemblyResolve  = CurrentDomain_AssemblyResolve;
            Application.Run(new Form1());
        }

        private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
        {
            using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("EmbedAssembly.SQLite.Interop.dll"))
            {
                byte[] Data = new byte[stream.Length];
                stream.Read(Data, 0, Data.Length);
                return Assembly.Load(Data);

            }
        }
  

Но он все равно выдает исключение :

 Unable to load DLL 'SQLite.Interop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
  

РЕДАКТИРОВАТЬ: решается путем добавления всего нового класса в проект вместо ссылки на него как на ссылку на dll

Ответ №1:

Решаемая путем добавления всего нового класса Sqlite в мой проект вместо добавления его в мой проект в качестве ссылки.