0

winforms c# で単純なキャッシュを実現する方法の適切な例を見つけることができませんでした。これは私が思いついたものですが、例外が発生します。

// この行はすでに例外を取得しています ICacheManager productsCache = CacheFactory.GetCacheManager("MyCacheManager");

例外は: 追加情報: ファイルまたはアセンブリを読み込めませんでした 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0,

適切に構成できないと思う app.config は次のとおりです。

<configuration>
    <configSections>
        <section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
    </configSections>
    <cachingConfiguration defaultCacheManager="MyCacheManager">
        <cacheManagers>
            <add name="MyCacheManager" type="Microsoft.Practices.EnterpriseLibrary.Caching, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000"
                numberToRemoveWhenScavenging="10" backingStoreName="NullBackingStore" />
        </cacheManagers>
        <backingStores>
            <add type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                name="NullBackingStore" />
        </backingStores>
    </cachingConfiguration>
</configuration>

entlib 構成を使用して app.config を作成しましたが、例外が発生し続けます。私が使用できる例はありますか?(2007 年の例よりも最新のもの)

あなたの時間の10倍

4

1 に答える 1

0

Caching アセンブリは、Microsoft.Practices.EnterpriseLibrary.Common に依存します。プロジェクトは、Common アセンブリと Microsoft.Practices.EnterpriseLibrary.Caching を参照する必要があります。また、bin フォルダー内のバージョンが、構成ファイルで指定されたバージョンと一致していることを確認してください。アセンブリの別のコピーを使用する構成ツールのバージョンを使用して構成を生成すると、バージョンの不一致が生じる可能性があります。

他のアイデアについては、以下の投稿もチェックしてください。

http://blogs.msdn.com/b/tomholl/archive/2007/04/19/avoiding-configuration-pitfalls-with-incompatible-copies-of-enterprise-library.aspx

于 2013-10-26T14:21:50.853 に答える