2015-12-10 3 views
0

Я пытаюсь работать над приложением ASP.NET 5. Вот класс, и он выглядит хорошо (без красных курчавых подчеркиваний). Но когда я пытаюсь построить, он дает ошибку - SymmetricAlgorithm' does not contain a definition for 'Create'SymmetricAlgorithm 'не содержит определения для' Create '

using System; 
using System.IO; 
using System.Security.Cryptography; 

namespace SalesBook 
{ 
    public static class Encryptor 
    { 
     private static byte[] EncryptString(string data) 
     { 
      byte[] byteData = Common.GetByte(data); 
      SymmetricAlgorithm algo = SymmetricAlgorithm.Create(); 

     } 
    } 
} 

Я использую .net 4.6.1. Любая помощь?

+0

Может быть проблемой зависимости. (Обычно есть). Какие рамки вы используете? Можете ли вы опубликовать свой проект.json? –

ответ

0

Этот метод не был перенесен на .NET Core. Рекомендуемая альтернатива использовать конкретный Create метод, связанный с алгоритмом вам нужно:

var algorithm = Aes.Create(); 

На CoreCLR, он будет автоматически определять и вернуть лучшую реализацию, в зависимости от вашей ОС environement.

Если вам не нужна поддержка .NET Core, вы можете удалить /dotnet5.4 из вашего project.json.

+0

Спасибо, но что здесь означает Aes? –

+0

AES является наиболее распространенным симметричным алгоритмом и поддерживается на CoreCLR. – Pinpoint