Configuration element <DllFile> was not found in the CLR xml configuration files

May 16, 2010 at 3:55 PM

I have modified the sample provider to link to a networked server, however I am now having issues trying to use the new provider. Here is the error from the event viewer:

Message ID:3, Level:ERR , Process:816, Thread:9An error occurred while reading extension file . Microsoft.Data.SqlRemoteBlobs.RemoteBlobConfigurationException: Configuration element <DllFile> was not found in the CLR xml configuration files. at Microsoft.Data.BlobStores.BlobStoreConfiguration.GetStringValue(AppSettingsSection section, String attribute) at Microsoft.Data.SqlRemoteBlobs.ProviderClass.Initialize()ExceptionType: ConfigurationExceptionCode: ClientConfigurationEntryNotFoundRequest Information not set.Session Information not set.Provider Session Information not set.
Operation: AssemblyLoadBlobStoreId: 0Log Time: 5/16/2010 3:32:47 PM

 

My Provider appears to be correctly specified in the machine.config file:

<Providers>
   <MYStore>
    <add key="EnumerationOptimizationLevelImplemented" value="1" />
    <add key="ConsistencyCheckLevelImplemented" value="1" />
    <add key="BlobStoreType" value="MYStore" />
    <add key="DllFile" value="C:\Program Files\MYStore\Microsoft.Data.BlobStores.MYBlobStore.dll" />
    <add key="ClassName" value="Microsoft.Data.BlobStores.MYBlobStore.FileStoreLibrary" />
    <add key="ProviderVersion" value="1.0.0.0" />
    <add key="MinSupportedBackEndStoreVersion" value="1.0.0.0" />
    <add key="BlobStoreAbstractClassVersion" value="10.0.0.0" />
   </MYStore>
</Providers>

I've run out of ideas of where to look, any help would be appreciated.

 

Editor
May 17, 2010 at 11:37 PM

The client is unable to load the provider section of the machine configuration xml file at all for some reason. There should be an inner exception that might have more information, but it looks like it's never getting to the provider entry.

Can you describe your client / server setup a little more? What exactly do you mean by linking to a networked server?

thanks

mike

May 18, 2010 at 10:23 PM
Edited May 18, 2010 at 10:23 PM

Looks like we accidentally implemented your solution today! A careful and thorough re-install of our provider and rewrite of our config files seemed to remedy it.

 

Maybe 'link to a networked server' was misleading... We are writing a RBS->CAS provider, it's slow going though! We seem to have progress:

Message ID:7, Level:INFO, Process:3340, Thread:9In assembly <Microsoft.Data.BlobStores.MYBlobStore, Version=10.0.0.0, Culture=neutral, PublicKeyToken=f0db8e25cca451ff>, found provider class <Microsoft.Data.BlobStores.MYBlobStore.FileStoreLibrary> at location <C:\Windows\assembly\GAC_MSIL\Microsoft.Data.BlobStores.MYBlobStore\10.0.0.0__f0db8e25cca451ff\Microsoft.Data.BlobStores.MYBlobStore.dll>.Operation: ProviderClassInitializeBlobStoreId: 0Log Time: 5/18/2010 9:30:57 PM

But unfortunately there our provider still doesn't seem to get called - The first thing we try to do on construction of our class is to write a log file - that never appears and any attempt to upload a file in sharepoint 2010 returns the error:

The URL 'Test Docs/4AA0-7978ENW.pdf' is invalid.  It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.

Which is exactly the same as before when we were receiving the previous <DllFile> not found error so leads me to believe the provider is still not found!

 

Any pointers again would be appreciated - it just seems like a really big wall to climb before we can start the meaningful work of getting the provider working.

Editor
May 18, 2010 at 10:35 PM

Are you using the sample application.exe to load and execute your provider? I would really recommend using it during development as you can debug into your provider and see exactly what's happening. Running it through SharePoint can be complex and requires a fairly complete implementation. Also you'll need to make sure the provider is enabled correctly using the SharePoint tools.

Log files are interesting because in general there's only a limited set of locations that the account usually used by ASP.NET can write to, so it's possible you're getting some access denied issues if all the rest of the config is correct and your provider is being called. More details on any log entries would be useful as well.

Sorry you're having difficulties, the configuration is certainly fairly complex for RBS and SharePoint together. We'll try to work you through any issues you have.

- mike

May 22, 2010 at 9:40 AM

Thanks Mike...

Sorry for the slow response - I'm only a SP developer on evenings and weekends!

The application ran correctly, so the provider is fairly solid. I think we're running in to the enterprise / developer only problems now - I've added my comments to the "Upgrade the SQL Server to Enterprise or developer Edition" thread.

Cheers,

Tom