2009-04-20 3 views
3

これはC#Asp.net MVCプロジェクトです。Unity Dependency Injection - .configファイルにRegisterInstanceを登録する方法

私は現在、グローバルマッピングがglobal.asax.csに設定されています。コンテナの設定をコードからweb.configに移動したいと思います。

すべては自分のタイプで細かい行ってきましたが、今私は、この行翻訳する必要があります:

container.RegisterInstance(System.Web.Security.Membership.Providerを)。

(その他の設定ラインはすべてコンテナです。タイプ)。

私は非常に遠くには達しません。 私もそれが設定エラーで死ぬ

<typeAliases> 
    <!-- others elided --> 
    <typeAlias 
    alias="MembershipProvider" 
type="System.Web.Security.MembershipProvider, System.Web"></typeAlias> 

が含まれている場合:

The value of the property 'type' cannot be parsed. The error is: Could not load file or assembly 'System.Web' or one of its dependencies. The system cannot find the file specified. 

だからそれはかなり奇妙だ - それを解決するためにGACに見ていないように思えますか?またはSystem.Webはappdomainにまだありませんか?

System.Webをbinフォルダに手動でコピーして、問題の要点に進むことができます:どうすればRegisterInstance System.Web.Security.MembershipProvider - > System.Web.Security.Membershipを取得できますか?プロバイダ?

<type type="MembershipProvider" mapTo="System.Web.Security.Membership.Provider, System.Web"></type> 

ができます:

がアセンブリ 'System.Webの' から型 'System.Web.Security.Membership.Provider' をロードできませんでした。

期待通りです。タイプではないためです。

ありがとうございます。

+0

うわー、あまりにもスタックオーバーフロー! –

答えて

5

あなたはもっと長いAssembliyリファレンスを試しましたか?

System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 

だからあなたの場合には、あなたが持っていたことに言及wothまた

<type type="MembershipProvider" mapTo="System.Web.Security.MembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"></type> 

のようなラインを持っているでしょう。 2番目の例の "MembershipProvider"の真ん中にあります。

+0

それはチケットだった! :-) –

+0

答えにチェックを入れてもいいですか? –

関連する問題