Custom Pipeline File and Directory Structure in C#

959 views Asked by At

I have built a pipeline for addins using C#. Once I build the projects, how can I update the code so that it will use the .dll files in the root directory and not in the typical add-in sub-directories?

Example - currently:

\addins\AddIns.store; \addins\<all the addin that i have built in sub-directories>
\addinsideadapters\AddInSideAdapters.dll
\addinviews\AddInView.dll
\contracts\MyClass.Contracts.dll
\hostsideadapters\HostSideAdapters.dll
\hostview.dll
\application.exe
\pipelinesegments.store

Ideally (respectively):

\ai.store; \addins\<all the addin that i have built in sub-directories>
\aisa.dll
\ain.dll
\myclass-c.dll
\hsa.dll
\hv.dll
\application.exe
\ps.store

Code:

_addins = new List<MyClassBase>();
String path = Environment.CurrentDirectory;
AddInStore.Rebuild(path);

At this point the AddInStore object has been built and when I breakpoint here the AddInStore object already has the directories set:

AddInAdaptersDirName = "AddInSideAdapters"
AddInBasesDirName = "AddInViews"
AddInCacheFileName = "AddIns.store"
AddInsDirName = "AddIns"
ContractsDirName = "Contracts"
HostAdaptersDirName = "HostSideAdapters"
PipelineCacheFileName = "PipelineSegments.store"

Is it possible to manually set this object to achieve my ideal directory and file structure for the add-ins?

1

There are 1 answers

0
Panos Rontogiannis On

We are not allowed to change the pipeline directory structure of the following segments:

  • AddInViews
  • AddInSideAdapters
  • Contracts
  • HostSideAdapters

You should read the pipeline directory guidelines.

Note that nothing stops you from naming the assemblies with your own names. You can have hv.dll instead of HostView.dll.

Regards,