0

new to C# (and programming in general) and have a question about Resolvers:

What does it mean to Resolve an assembly (i.e. a .dll file)? Basically I am trying to integrate our custom-made CRM with Sage and am told that before I can connect to the Sage DB I need to locate a particular assembly and resolve it BEFORE I resolve all the other relevant assemblies. I know that is vague but it's a fairly general question so I'm hoping someone can help me out!

Please note this is in C#.

user3882319
  • 1
  • 1
  • 2
  • is this just resolving ip issues? Would you just have to edit the connection string? – TheOneWhoPrograms Jul 27 '14 at 19:48
  • No, I think it is required because the particular assembly has a Connect() method. This is all part of an SDK so I think it's emphasising the need for using their pre-written objects. I really just need to know what it means to "Resolve" an assembly. I found this page: http://msdn.microsoft.com/en-us/library/ff527268%28v=vs.110%29.aspx which explains HOW to resolve assemblies, but I don't really know what it actually means. – user3882319 Jul 27 '14 at 19:52
  • From the looks of things it looks like they are loading in their own functions into what would be an abstract class otherwise. Without resolving these, it returns null...which acts like the function/method doesn't exist. Your essentially trying to match up the names of the functions internally with the ones you want to match externally... not sure how I can really help you because I am clueless about this... :s I hope someone knowlegable comes to help you! Best of luck! – TheOneWhoPrograms Jul 27 '14 at 19:59

1 Answers1

1

Resolving an assembly means locating and loading it. If the assembly is not strong signed the steps followed for resolving it are:

  • Try to load in the Appbase directory (where the application is hosted)
  • Try to load in a sub of the Appbase with the same name of the assembly (e.g. Appbase/acme/acme.dll)
  • Try to load from additional directories specified in the assembly.exe.config (xcopy deployment)

If the assembly is strong signed the CLR checks also in the GAC and checks if there are codebase hints for the specified assembly.

MaPi
  • 1,601
  • 3
  • 31
  • 64