目前,我正在使用Unity作为DI容器的解决方案。该项目包含一个COM可见的类,并公开一个方法。
当我实例并直接从VS项目中使用此类时,一切正常,如果我使用COM(CreateObject)从VS项目中使用该类,它也可以正常工作。
现在,我已经创建了一个vbs文件,我正在试图创建类并调用该方法。第一个问题是Unity无法找到XML协同文件的Section标签中类型attrib中指定的程序集Microsoft.Practices.Unity.Configuration。我已经解决了它将Unity放入CAG并使用标签的type属性中的assemby的完全限定名称。
现在,Unity加载很好,但它可以解析我的依赖项。看起来它无法找到<assembly>
标签中指定的程序集(但我不确定)。
我看不到发生了什么,我不知道为什么我的代码是从.net程序而不是从vbs文件中运行。
编辑:我已确认UNITY正在wscript.exe文件夹中查找库,但我不知道如何更改此行为。
有人可以帮我解决这个问题吗?
感谢。
答案 0 :(得分:1)
我认为这是一个配置位置问题。由于应用程序是由wscript.exe或cscript.exe运行的,因此框架会查找(w | c)script.exe.config(我猜)你在哪里配置了unity容器,但是你可能没有提供该文件。在这种情况下,以编程方式配置Unity可能更好。