2012-01-06 46 views
0

我已经使用C#为插件构建了一个流水线。一旦构建项目,我如何更新代码,以便它将使用根目录中的.dll文件,而不是在典型的加载项子目录中?在C中定制流水线文件和目录结构#

例 - 目前:

\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

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

  • AddInViews
  • AddInSideAdapters
  • 合同
  • HostSideAdapters

你应该阅读pipeline directory guidelines

请注意,没有任何东西阻止您用自己的名字命名程序集。您可以拥有hv.dll而不是HostView.dll。

Regards,