耶稣,克里希纳,巴达!
我已迁移到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
为什么可以找到某些名称空间而其他名称空间却找不到?
答案 0 :(得分:2)
根据您拥有的4.1引用,您仍然引用Enterprise Library 4.1程序集。您需要删除这些引用并添加对Enterprise Library 5.0程序集的引用。
加密块应该可以在不更改代码的情况下使用。还要确保更新所有配置文件中的“引用”。
答案 1 :(得分:0)
在构建时共享命令行(输出窗口,带有所有-r的csc.exe命令行以查看哪些引用将转到编译器)?它可能暗示了这个问题。