Приключения на Enterprise Library 5.0: кто перенес мой сыр (пространство имен)
Иисус, Кришна, Будда!
Я перешел на 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
Почему некоторые пространства имен можно найти, а другие нет?
2 ответа
Совместно использовать командную строку при сборке (окно вывода, командная строка csc.exe со всеми ключами -r, чтобы увидеть, какие ссылки собираются на компилятор)? Это может предложить проблему.
Основываясь на имеющихся у вас ссылках 4.1, вы все еще ссылаетесь на сборки Enterprise Library 4.1. Вам необходимо удалить эти ссылки и добавить ссылки на сборки Enterprise Library 5.0.
Блок криптографии должен быть пригоден для использования без изменения вашего кода. Также убедитесь, что обновили "ссылки" во всех ваших файлах конфигурации.