我是ASP.NET的新手,正在开发一个深入学习ASP.NET的个人项目。
所以要开始,我创建了一个新的ASP Web项目并选择了ASP 5 Empty MVC模板。然后我从Nuget安装了System.Management.Automation包,然后在名为PowerShellCmd.cs
和PowerShellModule.cs
的Models文件夹中创建了一些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?
答案 0 :(得分:2)
.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": { }
},