1
votes

We have a reportserver on sql server 2005, it has previously been working on computer X which we are replacing with a computer Y. Computer X only had one default sql instance as our test environment, machine Y is a new machine with 2 sql instances, Y\TEST and Y\DEV. Both machines run Windows Server 2003 and Both have Sql Server 2005 installed together with Report Server

We have not currently done any work on the DEV instance, just on the TEST instance. The reportserver is installed for TEST. SSRS previously worked as intended on X machine, and on Y\TEST its working for reports not using any custom code. However for some of the reports we are loading a custom assembly Localization. This assembly currently exists in following folders on server:

  • C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies
  • C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies
  • C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\ReportServer\bin

Also in rssrvpolicy.config, the entry for Report_Expressions_Default_Permissions has been changed from Execution to FullTrust (Although this was not necessary on the machine X).

When attempting to upload the rdl files through the web interface, we get the following errors:

Error while loading code module: ‘Localization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e302ddd55ecd694a’. Details: Could not load file or assembly 'Localization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e302ddd55ecd694a' or one of its dependencies. The system cannot find the file specified. (rsErrorLoadingCodeModule) Get Online Help

There is an error on line 14 of custom code: [BC30451] Name 'Localization' is not declared. (rsCompilerErrorInCode) Get Online Help

Does anyone know any other places with potential errors?

2

2 Answers

1
votes

I have three things to comment that might help (granted this is with 2008 R2 and I don't know if it will entirely translate versions):

1) I know that I was able to get assemblies recognized on the report server when referenced from the GAC. Perhaps throw it in there to ensure that doesn't work.

2) Ensure that there are not more than one instance of Reporting Services on the deployment server. I once distributed a file to the wrong bin.

3) I don't think the issue is with your rssrvpolicy.config because that would give you errors with CAS permissions not assembly missing errors.

The first things that come to mind is that the file is in the wrong location or the report files that are referencing the dll are referencing a file with an incorrect public key token.

Hope I was able to help. Let me know if you need anything else.

Frank

2
votes

I've been scouring the Internet trying to solve this problem. I created the example projects exactly as instructed on tons of websites, copied my DLL to the folders cited, but to no avail. Still get the error.

Finally it dawned on me to check the Program Files (x86) folder, and sure enough there is the same folder path here as in the Program Files folder that everyone cites.

So instead of:

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies

I copied to:

C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies

And my assembly works. Is nobody but me using a 64-bit Windows?