Where to manage smartassembly dependency search paths?

fostandyfostandy Posts: 9
edited July 20, 2011 4:38AM in SmartAssembly

Having just been badly burned by smartassembly finding and using some old dependency's for my project, I am now trying to understand how to control where smartassembly searches for these.

The only way I have figured out how to list the folders it searches has been to delete my libraries and get smartassembly to throw up an error on project load that basically says it could not locate a dependency and it has searched in X,Y,Z locations.

How do I view, control and define these locations? There are some links to some old libraries I would like to delete. I get the impression these are stored in some global space as there are some paths it is searching which should only belong to other projects (this is very annoying).

I have read the documentation here http://www.red-gate.com/supportcenter/C ... encies.htm but smartassembly appears to be searching in areas which do not fall under either of the 3 categories. Nor am I using any MandatoryPath directives in my .saproj file. Is there any further documentation?

I could have sworn I saw something to do this from the ui some time ago (back in v5 or earlier?) but I cannot seem to find it now.


  • You can give your DLLs strong names to prevent confusion.

    To view and control dependencies:
    Open SmartAssembly.settings using notepad.
    You can find this in the program folder or in
    c:\programdata\red gate\SmartAssembly

    You can add <SearchPath> nodes in the <DependenciesSearchPaths> parent node.
    James Davies
    Technical Support Engineer
    Red Gate Software
  • Thanks James, I had been looking in Program Files.
  • Hi,

    In my search path it has Silverlight 4, but it is picking up Silverlight 5 dlls instead. Seems to be a bug (using SmartAssembly 6.1, Have both Silverlight 4 and Silverlight 5 beta installed).

    <SearchPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0</SearchPath>

    How can it find the Silverlight 5 dll's? They are in C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v5.0, and I didn't specify that they were there.

    I just tried using the assembly MandatoryPath xml feature, but it's still picking up the SL 5 assemblies:

    <Assembly AssemblyName="mscorlib" MandatoryPath="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\mscorlib.dll">
    <Merging />
    <Assembly AssemblyName="System" MandatoryPath="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\System.dll">
    <Merging />
    <Assembly AssemblyName="System.Windows" MandatoryPath="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\System.Windows.dll">
    <Merging />

    - Wout
  • >>How can it find the Silverlight 5 dll's?

    My guess is that it picks them up since they are in the GAC- is that possible?
  • Nope, they are not in the GAC. Either way it is incorrect behavior to randomly switch references.

    - Wout
  • I've also submitted a support request for this: F0049951. No need to further discuss it here I guess. I'll post about if the solution works once it's done.

    - Wout
Sign In or Register to comment.