I'm seeing many occurrences of "Error: Failure in loading assembly: MyAssembly, Version=, Culture=neutral, PublicKeyToken=Token#" in my sharepoint farm's web front end eventlog.

I've read this article: http://blogs.msdn.com/suzcook/archive/2003/05/29/57120.aspx but I am prohibited from installing any SDKs or utilities by our sys admins.

The assembly in question is in the bin folder of my app and is identical across the farm. The sharepoint log file (in the 12 hive) lists the same error as above without further information.

Any suggestions on how to diagnose?

  • Do you have this only on your front-end web farm ? Or I better ask is it possible to try reproducing the issue on another server (where you will have full admin rights and can use any tools)? Is it possible that you take an image of you web farm, and load it in VirtualPC or WMWare on a workstation? – Bogdan_Ch Jun 19 '09 at 7:47
  • We have a QA box, but of course, it isn't appearing there. Perhaps due to the lack of traffic. – Dave Jun 20 '09 at 11:39

You can just turn on the Fusion log (through those registry settings using regedit) and just look at the logs with notepad.

Take a look here for more info regarding bin deployed SharePoint dlls. http://msdn.microsoft.com/en-us/library/cc768621.aspx

| improve this answer | |
  • Gah, I'm sorry it's taking me so long to get to this. Too much happening with year end. I'm going to convince management that installing the SDK and looking at the fusion logs is the best way to go. We can always uninstall it from there. Thanks for taking the time to answer my question! – Dave Jun 22 '09 at 13:48
  • Thx. Do try it without first -- I really didn't find FusLogVw all that helpful compared to just regedit and notepad. – Hafthor Jun 22 '09 at 15:42

In the past I've seen this error occur with custom dll's that i've written. I tried a lot of ways to get around things, such as add the code to the GAC, etc.

I actually replied to a similar question, http://social.technet.microsoft.com/Forums/en-US/sharepointdevelopment/thread/ab43b645-77f9-44e1-8c50-c1e902f7d5b2

My fix was that I added the DLL to the assemblies element of web.config

<compilation batch="false" debug="true">
        <add assembly="MyCustomDLL, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

Once I did that, I noticed that i no longer saw errors in the event logs of my front ends.

| improve this answer | |
  • I'll talk to the other admins about doing that and I'll let you know asap. Thanks! – Dave Jun 10 '09 at 20:08
  • I'm pushing the changing to our QA environment and will begin testing. I'll let you know asap! – Dave Jun 11 '09 at 17:59
  • Sorry it's taking so long to get back with an answer. Trying to push things through management ... gah! – Dave Jun 12 '09 at 12:47
  • I added the assembly as directed on the node exhibiting the behavior but the error occurred again. I've pushed the change to the other two nodes so that their web configs are identical. Apparently, one node will do work on behalf of other nodes, so lets hope that pushing the change to the other servers works. – Dave Jun 12 '09 at 19:00
  • Sorry, it's a no go. I added it to all three web front ends and the errors are still appearing. – Dave Jun 12 '09 at 19:35

How to best diagnose it? Check the Event Log, the fusion loader writes its failures there.

And use Process Monitor, looking for events that result in File Not Found.

| improve this answer | |
  • The fusion loader is not installed on the web front end servers. To my understanding fusion is a part of the .NET SDK and I've been prohibited from installing anything on the WFEs. – Dave Jun 15 '09 at 15:07
  • 1
    Fusion is the name of the CLR assembly loader. You can edit a registry key on the server and have it log more detailed information when it attempts to load assemblies. There is overhead to this so make sure that once you get the relevant log information that you turn it back off. What is part of the SDK is the tools to view the log files. Check out this blog post to see how to turn on logging w/out using the SDK. hanselman.com/blog/… – Aaron Weiker Jun 15 '09 at 15:25
  • 1
    Fusion also is responsible for regular dll assemblies. i.e. your app manifests that it wants common controls version 6 dll (i.e. you want to be themed), or you have a dependancy on a specific version of the MSVCRT dlls...Fusion does all that. – Ian Boyd Jun 16 '09 at 4:04

I would add the assembly to the GAC on the servers. There are times when the assemblies could be loaded that are not involved with the web serving piece, such as when you have feature receivers. Is this something that is allowed by your sys admins?

| improve this answer | |
  • I will ask the grand pooba. – Dave Jun 15 '09 at 19:57
  • If you are deploying the code as a WSP you just need to modify the manifest.xml file to make them go into the GAC. Deploying as a WSP usually also makes the grand pooba a little happier because they have a little more control over things. – Aaron Weiker Jun 16 '09 at 5:56
  • Sorry, the grand pooba says no go :(. – Dave Jun 18 '09 at 18:14
  • I would open up a case with Microsoft Support and have them help you with it. – Aaron Weiker Jun 18 '09 at 18:50

I would try attaching a remote debugger, this will then show you in Visual Studio the exception when you hit the page that is using your custom assembly.

I know you mention in your post that you're not allowed to install anything but frankly you're going to have a hard time diagnosing this without any utilities!

| improve this answer | |
  • Unfortunately we can't install the remote debugging tools on a production machine. – Dave Jun 22 '09 at 13:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.