C# MEF目录目录
我有一个具有以下结构的解决方案: 项目模型 项目建设者 项目.单元测试 在生成器项目中,它应该使用MEF创建模型实例。 因此,在Builder类构造函数中,我希望它有一个容器来容纳仅与构建模型相关的部分(作为关注点的分离) 目前我使用的目录目录如下:C# MEF目录目录,c#,.net,mef,C#,.net,Mef,我有一个具有以下结构的解决方案: 项目模型 项目建设者 项目.单元测试 在生成器项目中,它应该使用MEF创建模型实例。 因此,在Builder类构造函数中,我希望它有一个容器来容纳仅与构建模型相关的部分(作为关注点的分离) 目前我使用的目录目录如下: var path = Environment.CurrentDirectory; var catalog = new DirectoryCatalog(path + @"\Builder\bin\Debug"); 因此,在单元测试项目中,我可以使
var path = Environment.CurrentDirectory;
var catalog = new DirectoryCatalog(path + @"\Builder\bin\Debug");
因此,在单元测试项目中,我可以使用这个容器编写单元测试函数。
是否有更好的方法使生成器容器仅具有驻留在生成器项目输出目录(bin\debug)中的DLL。
我试过使用:
var directory = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var catalog = new DirectoryCatalog(directory);
bu这已经使目录扫描了单元测试项目的输出目录,这些项目产生了很多问题,除了不在我希望目录扫描的地方之外
有没有比我现在做的更正确的方法?
提前感谢。我更愿意使用and-并将一个静态引用从Builder项目添加到Model项目,这样您就可以避免文件夹的所有问题-扫描整个文件夹、部署期间目录结构的更改、同一文件夹中程序集的不同版本,等等。
代码看起来像
var catalog = new AssemblyCatalog(typeof(YourModelType).Assembly);
我宁愿使用and,并将一个静态引用从Builder项目添加到Model项目,这样您就可以避免文件夹的所有问题—扫描整个文件夹、部署过程中目录结构的更改、同一文件夹中程序集的不同版本,等等。
代码看起来像
var catalog = new AssemblyCatalog(typeof(YourModelType).Assembly);