将PowerShell包添加到.netstandard2.0类库

时间:2017-10-02 15:05:57

标签: c# .net powershell .net-standard .net-standard-2.0

我正在尝试将我之前构建的C#类库迁移到.NET Standard v4.5。

我尝试了很多软件包在我的库中包含PowerShell支持,但每次我都包含一个软件包时,我会收到一条警告,说明该程序包是使用不同于.NET Standard 2.0的目标框架包含的。

例如,使用System.Management.Automation_PowerShell_3.0`包我收到以下错误消息

  

Le package'System.Management.Automation_PowerShell_3.06.3.9600.17400'aétérestauréenutilisant'.NETFramework,Version = v4.6.1'au lieu du framework cible du projet'.NETStandard,Version = v2.0'。 Ce package n'est peut-êtrepastotalement compatible avec votre projet。

将大致翻译为英文

  

使用'.NETFramework,Version = v4.6.1'而不是projet的目标框架'.NETStandard,Version = v2.0'恢复了包'System.Management.Automation_PowerShell_3.0 6.3.9600.17400'。该软件包可能与目标项目不完全兼容。

由于主要原因,我试图将我的库移植到.NET Standard是为了支持.NET Framework和.NET Core目标,有一个软件包,其中一个软件包是特定于.NET Framework的。港口的目的。

我有解决方法吗?是否存在我错过的针对.NET Standard 2.0的PowerShell包(我在VS17 NuGet资源管理器中尝试了大约10个与PowerShell相关的包,然后发布到此处)?

在某些背景下,我使用PowerShell从我的C#库运行node.exe。

1 个答案:

答案 0 :(得分:3)

据我所知,没有办法解决这个问题。原因是软件包是使用.NETFramework构建的,所以在创建者将其软件包移植到.NETStandard之前,它只能在.NETFramework个应用程序中使用,因为从理论上说,这个软件包可以使用不在.NETStandard

中的库