System.Data.SQLite
View Ticket
Not logged in
Ticket UUID: e0509215209071fa779cab17e891e2472e40c4e8
Title: ProviderManifest.xml not found
Status: Closed Type: Code_Defect
Severity: Critical Priority: Immediate
Subsystem: LINQ Resolution: Duplicate
Last Modified: 2011-07-07 04:44:12
Version Found In: 1.0.72.0
Description:
I stepped on this problem when I was trying to combine sqlite with Entity Framework 4.1.

I always got this error: "The provider did not return a ProviderManifest instance."

After some debugging, i could locate the problem

    internal static XmlReader GetProviderManifest()
    {
      return GetXmlResource("System.Data.SQLite.Resources.SQLiteProviderServices.ProviderManifest.xml");
    }

    internal static XmlReader GetXmlResource(string resourceName)
    {
      Assembly executingAssembly = Assembly.GetExecutingAssembly();
      Stream stream = executingAssembly.GetManifestResourceStream(resourceName);
      return XmlReader.Create(stream);
    }

the correct syntax for the string should be {namespace}.{directory}.{filename}
But when you look in the Project Properties, you will see that the default namespace is System.Data.SQLite.Linq and not System.Data.SQLite.

So i changed the default namespace to System.Data.SQLite because all the files are starting with that namespace.
Or you could change the string in the function.
    internal static XmlReader GetProviderManifest()
    {
      return GetXmlResource("System.Data.SQLite.Linq.Resources.SQLiteProviderServices.ProviderManifest.xml");
    }

<hr /><i>shane added on 2011-05-27 01:13:47 UTC:</i><br />
Duplicate of [133daf50d6].