1

イエス、クリシュナ、ブッダ!

EntLib 5.0に移行しましたが、のようなクラスISymmetricCryptoProviderは認識されなくなりました。データ、ロギング、その他のブロックが正常にコンパイルされていると言うのはおかしいです。

問題のあるクラスは次のとおりです。

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;//-->it's not working anymore
using Microsoft.Practices.EnterpriseLibrary.Security.Cryptography;//-->it's not working anymore

namespace MyClassLibrary.Security.EnterpriseLibrary
{

    public sealed class Crypto
    {

        public static ISymmetricCryptoProvider MyProvider
        {
            get 
            {
                //IConfigurationSource is not recognized either, neither SystemConfigurationSource
                IConfigurationSource cs = new SystemConfigurationSource();
                SymmetricCryptoProviderFactory scpf = new SymmetricCryptoProviderFactory(cs);
                ISymmetricCryptoProvider p = scpf.CreateDefault();
                return p; 
            }
        }

参照はプロジェクトでも問題ありません。この特定のプロジェクトがVS2010で多くの問題を引き起こしている理由は本当にわかりません!古い参照が削除され、プロジェクトがクリーンアップされ、再構築されましたが、コンパイルできません:-(

参照は次のとおりです。

Microsoft.Practices.EnterpriseLibrary.Common
Microsoft.Practices.EnterpriseLibrary.Logging
Microsoft.Practices.EnterpriseLibrary.Logging.Database
Microsoft.Practices.EnterpriseLibrary.Security
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography

一部の名前空間が見つかるのに、他の名前空間が見つからないのはなぜですか?

4

2 に答える 2

2

あなたが持っている 4.1 参照に基づいて、エンタープライズ ライブラリ 4.1 アセンブリをまだ参照しています。これらの参照を削除し、Enterprise Library 5.0 アセンブリへの参照を追加する必要があります。

暗号化ブロックは、コードを変更せずにそのまま使用できるはずです。また、すべての構成ファイルの「参照」を必ず更新してください。

于 2010-06-09T01:35:57.360 に答える
0

ビルド時にコマンド ラインを共有しますか (出力ウィンドウ、すべての -r を含む csc.exe コマンド ラインで、コンパイラへの参照を確認します)。問題を示唆している可能性があります。

于 2010-06-08T07:01:20.883 に答える