2012-01-04 7 views
0

現在、DIをコンテナとしてUnityを使用するソリューションで作業しています。このプロジェクトには、COMから見えるクラスが含まれており、1つのメソッドが公開されています。私のクラスがCOMから呼び出されたときのUnityの問題

VSプロジェクトからこのクラスを直接インスタンス化して使用すると、すべて正常に動作し、COM(CreateObject)を使用してVSプロジェクトのクラスを使用するとうまくいきます。

今、私はvbsファイルを作成しました。私はクラスを作成してメソッドを呼び出すことを試行しています。最初の問題は、UnityがXML構成ファイルのセクションタグの型attribで指定されたアセンブリMicrosoft.Practices.Unity.Configurationを検出できなかったことです。私はUnityをCAGに入れ、タグのtype属性でassembyの完全修飾名を使用して解決しました。

今、Unityはうまくロードされますが、私の依存関係を解決できます。それは<assembly>タグで指定されたアセンブリを見つけることができないようです(しかし、わかりません)。

何が起きているのかわかりません。私のコードが.netプログラムから動作していて、vbsファイルでは動作していない理由がわかりません。

EDIT:UNITYがwscript.exeフォルダ内のライブラリを探していることを確認しましたが、この動作を変更する方法はわかりません。

誰かがこの問題を助けてくれますか?

ありがとうございました。

答えて

1

これは設定場所の問題だと思います。アプリケーションはwscript.exeまたはcscript.exeによって実行されるので、フレームワークはunityコンテナを設定した場所(w | c)のscript.exe.configを検索しますが、おそらくそのファイルを指定していません。この場合、プログラムでUnityを設定するほうが良いでしょう。

+0

ありがとうFelice。私は、コードで統一を構成することで問題を解決できるかどうかを確認する概念の証明をしています。私は、COMから呼び出したときにXMLファイルが配置され、ロードされていると確信しています(以前のmsgbox技法を使用してデバッグしました:D)。もちろん、Unityはそのファイルの同じディレクトリ内にあるアセンブリを探します。またはwscript.exeフォルダーにあります。 – Jonathan

関連する問題