我已经使用 app config 设置了一个 Unity 2.0.414.0 容器。
我的解决方案结构如下所示:
项目 A:使用 Unity 和 unity xml 配置文件的依赖工厂。
项目 B:Unity 配置中使用的接口实现的几种类型。这些类型引用Microsoft.Sharepoint.dll。
项目 C:Unity 的其他实现类型。没有对 Sharepoint dll 的引用。
在Visual Studio 2010 中执行单元测试期间,我遇到了问题。
当我尝试为任何 Project B 类型加载我的 Unity 配置时,它无法加载并导致整个容器无法配置它。
在多次尝试解决问题设置并检查项目 BI 的引用后,发现如果我的所有程序集都安装在 GAC 中,Unity 工作正常。
如果我从 GAC 中删除它们,Unity 配置的加载将失败。
如果我尝试从一个简单的 Windows 应用程序调用 Unity Resolve 方法,无论我的所有程序集是否在 GAC 中,Unity 都会加载一切正常。
那么我的 Visual Studio 测试配置中缺少哪些程序集解析器设置,以便 Unity 无需 GAC 部署即可工作?