2

I'm seeing many occurrences of "Error: Failure in loading assembly: MyAssembly, Version=1.0.0.0, 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?

2
  • 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, 2009 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, 2009 at 11:39

5 Answers 5

0
+100

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

2
  • 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, 2009 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, 2009 at 15:42
1

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">
      <assemblies>
        <add assembly="MyCustomDLL, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

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

5
  • I'll talk to the other admins about doing that and I'll let you know asap. Thanks!
    – Dave
    Jun 10, 2009 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, 2009 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, 2009 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, 2009 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, 2009 at 19:35
1

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.

3
  • 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, 2009 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/… Jun 15, 2009 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, 2009 at 4:04
0

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?

4
  • I will ask the grand pooba.
    – Dave
    Jun 15, 2009 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. Jun 16, 2009 at 5:56
  • Sorry, the grand pooba says no go :(.
    – Dave
    Jun 18, 2009 at 18:14
  • I would open up a case with Microsoft Support and have them help you with it. Jun 18, 2009 at 18:50
0

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!

1
  • Unfortunately we can't install the remote debugging tools on a production machine.
    – Dave
    Jun 22, 2009 at 13:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .