How does the designer locate an assembly ?

I can see the topic about locating assemblies at run-time. My question is how the VS 2005 IDE and the Windows Form Designer locates an assembly a design time.

I have my own assemblies of components, which I am testing and which therefore do not have strong names and are therefore not in the GAC. I was able to add my assembly's components as Toolbox Items through the Choose Toolbox Items... dialog and by browsing to the directory where the assembles are located. When I create a .Net application and use the Toolbox it appears that the IDE will always know where my assembly is at design time because the full path to the assembly is in the Choose Toolbox Items... dialog. Is this all that is needed at design time to locate an assembly for the designer I do understand that at run-time other rules apply and that my non-strong name assembly needs to be in the same root directory as the application.


Answer this question

How does the designer locate an assembly ?

  • Manuk

    Peter Ritchie wrote:

    Ahh, the version. By default, in VS2005, referencing a control library from the designer does not tie it to a specific version. But, you have the option of doing so. You can change this in VS205 by expanding the References Solution Explorer item and selecting the reference in question. Right clicking and selecting properties will show the properties of the reference. One of the properties is "Specific Version". Ensure this is set to False if you don't want it to reference a specific version.

    I don't recall if any of the above applies to VS2003.


    there's no support for this in VS2003, file reference with copy local = true will always get the a copy from the said path on project load and rebuild (i think timestamp check is also applied)


  • mruniqueid

    Ahh, the version. By default, in VS2005, referencing a control library from the designer does not tie it to a specific version. But, you have the option of doing so. You can change this in VS205 by expanding the References Solution Explorer item and selecting the reference in question. Right clicking and selecting properties will show the properties of the reference. One of the properties is "Specific Version". Ensure this is set to False if you don't want it to reference a specific version.

    I don't recall if any of the above applies to VS2003.



  • Michael C. Neel

    Umm, you've browsed for the DLL and explicitly selected its path... I don't understand what you're asking; what more could the Designer need When you application builds that DLL will be copied to the bin/debug or bin/release directory; but you didn't ask about that.

  • Larry3228

    Peter Ritchie wrote:

    Ahh, the version. By default, in VS2005, referencing a control library from the designer does not tie it to a specific version. But, you have the option of doing so. You can change this in VS205 by expanding the References Solution Explorer item and selecting the reference in question. Right clicking and selecting properties will show the properties of the reference. One of the properties is "Specific Version". Ensure this is set to False if you don't want it to reference a specific version.

    I don't recall if any of the above applies to VS2003.



    I have no idea where the "References Solution Explorer item" is. If I look at my project's properties and view the References under Common Properties I can click on a particular reference and see its properties. There is no "Specific Version" property among those properties. This is a C++/CLI Windows Form project.


  • usamaalam

    After I have made changes to the assembly, which has updated the version resource for the assembly since I have the AssemblyVersionAttribute set to 1.0.*, when I have attempted to use the designer to make changes to a component in an assembly the component could no longer be found. Does the designer get confused because version in the assembly has changed

  • How does the designer locate an assembly ?