繁体   English   中英

DNX的ASP.NET 5 MVC 6 System.Management.Automation问题

[英]ASP.NET 5 MVC 6 System.Management.Automation issue with DNX

我是ASP.NET的新手,正在从事一个个人项目以深入学习ASP.NET。

因此,开始之前,我创建了一个新的ASP Web项目并选择了ASP 5 Empty MVC模板。 然后,我从Nuget安装了System.Management.Automation包,然后在Models文件夹中创建了一些名为PowerShellCmd.csPowerShellModule.cs cs文件。

PowerShellCmd.cs仅包含get和set属性。 请看下面的代码:

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。 请看下面的截图。

在此处输入图片说明

当我构建代码时,出现以下错误:

在此处输入图片说明

默认情况下,它使用DNX 5.0查找System.Management.Automation。 如何更改为使用DNX4.5.1?

.NET Core 5框架(DNX Core)不支持软件包System.Management.Automation。 .NET Core 5是.NET Framework的子集。 你可以在这里读更多关于它的内容。

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

如果您只想使用完整的.Net框架(DNX 4.5.1),则可以转到project.json文件并删除Core框架。 之后,您的project.json文件的框架如下所示。

 "frameworks": {
        "dnx451": { }
    },

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM