2016-01-06 2 views
1

Я новичок в ASP.NET и работаю над личным проектом, чтобы изучить ASP.NET в глубину.ASP.NET 5 MVC 6 System.Management.Automation проблема с DNX

Чтобы начать работу, я создал новый веб-проект ASP и выбранный шаблон ASP 5 Empty MVC. Затем я установил пакет System.Management.Automation из Nuget, а затем создал некоторые файлы cs в папке Models с именем PowerShellCmd.cs и PowerShellModule.cs.

PowerShellCmd.cs просто содержит свойства и свойства. Пожалуйста, смотрите код ниже:

namespace Automation.Models 
{ 
    public class PowerShellCmd 
    { 
     public string CmdLets { get; set; } 
     public string CmdOutput { get; set; } 
    } 
} 

PowerShellModule.cs делает задачу автоматизации и я погрузил System.Management.Automation наверху, так что я могу использовать их в коде. Ниже мой код:

using System.Management.Automation; 

namespace Automation.Models 
{ 
    public class PowerShellModule 
    { 
     public void ExecuteCode() 
     { 
      PowerShellCmd command = new PowerShellCmd(); 
      var shell = PowerShell.Create(); 

      shell.Commands.AddScript(command.CmdLets); 

      var results = shell.Invoke(); 
     } 

    } 
} 

Когда я парить над System.Management.Automation, я получаю ссылка доступна для DNX 4.5.1 и не доступны для DNX 5.0. См. Снимок экрана ниже.

enter image description here

И когда я строю код, я получаю ниже ошибки:

enter image description here

По умолчанию он использует DNX 5.0 найти System.Management.Automation. Как изменить это для использования DNX4.5.1?

+0

Похоже, вы не указали ссылку. Попробуйте добавить ссылку на System.Management в проект и снова скомпилировать. – lumee

+0

@lumee - ссылка существует по ссылке -> DNX4.5.1 -> System.Management.Automation. В реестре Nuget нет зависимости DNX5.0. Доступно только для DNX4.5.1. – Ray

ответ

2

Пакет System.Management.Automation не поддерживается в среде .NET Core 5 (Core DNX). .NET Core 5 - это подмножество .NET Framework. Вы можете прочитать больше об этом здесь.

http://docs.asp.net/en/latest/conceptual-overview/dotnetcore.html

, если вы хотите использовать полный .NET Framework (DNX 4.5.1), вы можете перейти к файлу project.json и удалить рамки Core. После этого структура вашего файла project.json будет выглядеть следующим образом.

"frameworks": { 
     "dnx451": { } 
    }, 
+0

Это сработало !. Спасибо. :) – Ray

Смежные вопросы