我正在尝试将我之前构建的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。
答案 0 :(得分:3)
据我所知,没有办法解决这个问题。原因是软件包是使用.NETFramework
构建的,所以在创建者将其软件包移植到.NETStandard
之前,它只能在.NETFramework
个应用程序中使用,因为从理论上说,这个软件包可以使用不在.NETStandard
。