Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 从COM调用我的类时的统一性问题_.net_Com_Unity Container - Fatal编程技术网

.net 从COM调用我的类时的统一性问题

.net 从COM调用我的类时的统一性问题,.net,com,unity-container,.net,Com,Unity Container,目前,我正在使用Unity作为DI容器的解决方案中工作。此项目包含一个COM可见的类并公开一个方法 当我直接从VS项目中引用和使用这个类时,一切都很好,如果我使用COM(CreateObject)从VS项目中使用这个类,它也很好 现在,我已经创建了一个vbs文件,我正在尝试创建该类并调用该方法。第一个问题是Unity找不到程序集Microsoft.Practices.Unity.Configuration,该程序集是在XML协同配置文件的节标记的类型attrib中指定的。我已经解决了这个问题,将

目前,我正在使用Unity作为DI容器的解决方案中工作。此项目包含一个COM可见的类并公开一个方法

当我直接从VS项目中引用和使用这个类时,一切都很好,如果我使用COM(CreateObject)从VS项目中使用这个类,它也很好

现在,我已经创建了一个vbs文件,我正在尝试创建该类并调用该方法。第一个问题是Unity找不到程序集Microsoft.Practices.Unity.Configuration,该程序集是在XML协同配置文件的节标记的类型attrib中指定的。我已经解决了这个问题,将Unity放在CAG中,并在标记的type属性中使用assemby的完整限定名

现在,Unity加载很好,但它可以解决我的依赖关系。看起来它找不到
标记中指定的程序集(但我不确定)

我看不到发生了什么,我也不知道为什么我的代码是从.net程序而不是从vbs文件工作的

编辑:我已确认UNITY正在wscript.exe文件夹中查找库,但我不知道如何更改此行为

有人能帮我解决这个问题吗


谢谢。

我认为这是配置位置问题。由于应用程序是由wscript.exe或cscript.exe运行的,因此框架会查找(w | c)script.exe.config(我猜)您在其中配置了unity容器,但您可能没有提供该文件。在这种情况下,以编程方式配置Unity可能更好。

谢谢Felice。我正在做一个概念证明,看看通过代码配置unity是否可以解决这个问题。我确信,当我从COM调用时,XML文件已经被定位并加载(我使用旧的msgbox技术对其进行了调试:D),但当然,Unity可能需要在该文件的同一目录中查找程序集。。。或者在wscript.exe文件夹中。