1

耶稣,克里希纳,佛陀!

我已经迁移到 EntLib 5.0,但是ISymmetricCryptoProvider不再识别类似的类。有趣的是,Data、Logging 和其他块正在正常编译。

这是有问题的类:

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 引用,您仍在引用 Enterprise Library 4.1 程序集。您需要删除这些引用并添加对 Enterprise Library 5.0 程序集的引用。

加密块应该可以在不更改代码的情况下使用。还要确保更新所有配置文件中的“引用”。

于 2010-06-09T01:35:57.360 回答
0

构建时共享命令行(输出窗口,带有所有 -r 的 csc.exe 命令行以查看编译器的引用)?它可能会提示问题。

于 2010-06-08T07:01:20.883 回答