C#中的自定义管道文件和目录结构

时间:2012-01-06 00:10:06

标签: c# add-in pipeline maf

我使用C#为插件构建了一个管道。一旦我构建项目,我如何更新代码,以便它将使用根目录中的.dll文件而不是典型的加载项子目录?

示例 - 目前:

\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

理想情况下(分别):

\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

代码:

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

此时已经构建了AddInStore对象,当我在这里断点时,AddInStore对象已经设置了目录:

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

是否可以手动设置此对象以实现加载项的理想目录和文件结构?

1 个答案:

答案 0 :(得分:1)

我们不允许更改以下段的管道目录结构:

  • AddInViews
  • AddInSideAdapters
  • 合同
  • HostSideAdapters

您应该阅读pipeline directory guidelines

请注意,没有什么能阻止您使用自己的名称命名程序集。您可以使用hv.dll而不是HostView.dll。

此致