group .dll files into subfolder

Posted by jmls on 04-Sep-2012 04:12

I think that there was a discussion on this many moons ago, but can't find it

Is it possible yet under 11.1 to have sub-folder under the assemblies folders ?

I want to have

assets/dll/ingragistics

assets/dll/devexpress

assets/dll/nsoftware

etc

but point -assemblies to assets/dll

why ?

because I'm anal-retentive. Or because I prefer to have neat folder layouts for differing functionality, and third-party components fit into that preference.

take your pick

All Replies

Posted by Admin on 04-Sep-2012 04:27

take your pick

A different use case might be setting up different privileges for assembly check in in your SCM tool.

Someone might be responsible for checking in in those 3rd party assemblies and this person is able to know what you have licensed.

Other developers in house might be building home-grown assemblies in the Visual Studio but have no clue about 3rd party licensed components.

I'd like to be able to have those roles be governed by check in privileges in the SCM tool.

Posted by jmls on 04-Sep-2012 04:57

+1

On 4 September 2012 10:28, Mike Fechner

Posted by Garry Hall on 04-Sep-2012 08:13

I believe in theory it is technically possible to do this, probably since the inception of GUI for .NET, but you have to make the necessary edits yourself.

You need an assemblies.config file in your -assemblies directory.

In this, you need a probing element, to set the probing path. A minimal assemblies.config file would be:



 
      
     

The assemblies.config is an application configuration file that OE supplies to .NET when looking for assemblies beneath the -assemblies directory. It must conform to the specification from Microsoft, it is not a format defined or controlled by Progress Software.

I have not tried this exact thing, but there is something similar in DLC\bin\prowin32.exe.config, for the same purposes.

Posted by Admin on 04-Sep-2012 09:32

The assemblies.config looks promising!

I have not tried this exact thing, but there is something similar in DLC\bin\prowin32.exe.config, for the same purposes.

I'd not recommend anyone on relying on changing the prowin32.exe.config file. Progress replaces this in services packs (for good reasons to update the assembly probing).

Can the assemblies.config file also be used for other settings?

As you can see here: http://www.oehive.org/proparse#comment-2118

For using the .NET Assemblies of proparse with a different code page I need to provide a appSetting key/value pair. Can that also be included in the assemblies.config? Benefit would be that I wouldn't need to modify a file in %DLC% and I could have different settings per project.

Posted by Garry Hall on 04-Sep-2012 10:53

Progress Software does not recommend making any changes to the prowin32.exe.config file (I think that is in the doc somewhere). My comment was more to show that we do the same to allow prowin32 to find all the shipped assemblies, rather than cluttering DLC\bin (the same reasons as Julian).

As for whether assemblies.config is useful for other things, probably no, it depends on what you want to do. You would need to understand the context of when it is used. See my previous post in http://communities.progress.com/pcom/message/137363#137363.

The assemblies.config file is loaded only when the CLR fails to locate a requested assembly in the GAC or below DLC\bin, and has to probe the -assemblies directory. It is loaded only for the AppDomain created to probe the -assemblies directory. You could redirect versions of assemblies below the -assemblies directory, or other things related to the loading of assemblies. Without looking at the proparse code, I would guess you still need to change prowin32.exe.config, as this controls the operation of the CLR of the prowin32.exe process.

This thread is closed