locked
DLL deployment RRS feed

  • Question

  • Hello,
    We had a Callout.DLL in CRM 3.0 which references to ABC.DLL. Now in CRM 4.0, we converted the codes in Callout.DLL to use IPlugin now it's Plugin.DLL which I registered using the SDK PluginRegistrationTool in GAC. My question is, should I deploy ABC.DLL in GAC which Callout.DLL depends on? I can't register it in GAC using the tool so I'm trying to use gacutil.exe instead.

    I'm asking this because I'm getting the "Object reference not set to an instance of an object" stack trace starts with the referenced method belonging to ABC.DLL. Callout.DLL and ABC.DLL used to be on the sever\bin\assembly folder in CRM 3.0. ABC.DLL deserializes XML, by the way.

    Thanks in advance.
    Saturday, July 26, 2008 3:32 AM

Answers

  • You should put ABC.dll in the GAC, which you'll have to do outside of CRM - e.g. through gacutil.

     

    There is one other option that seems to work. If the plugin assembly is registered as a source of disk, then you can put but it and the referenced dll in server\bin\assembly, but this only works with a source of disk

    Saturday, July 26, 2008 8:16 AM
    Moderator

All replies

  • You should put ABC.dll in the GAC, which you'll have to do outside of CRM - e.g. through gacutil.

     

    There is one other option that seems to work. If the plugin assembly is registered as a source of disk, then you can put but it and the referenced dll in server\bin\assembly, but this only works with a source of disk

    Saturday, July 26, 2008 8:16 AM
    Moderator
  • Thanks, David.

    I tried both of your suggestions but I'm still getting the "Object reference not set to an instance of an object" error. I'm sure the parameter that is passed to the method in ABC.DLL is not empty. I tried passing this parameter to a different class in the same namespace and it's okay.

    My only guess is that the namespace is not the same with the physical folder structure although I know that's okay to do.

    I know it can find the reference DLL (ABC.DLL) since the error is not something like "can't find assembly/dll." Also I placed some Event Logs and there was no indication that it entered the method of the referenced DLL. Any ideas?
    Saturday, July 26, 2008 1:59 PM
  • I found out what's wrong. It's just my EventLogs are not properly declared. Aside from that, DLLs are properly placed. Thanks!
    Monday, July 28, 2008 8:50 AM