我有一个.Net3.5应用程序,该应用程序具有PowerShell2.0中System.management.automation.dll的引用
Microsoft says Powershell 2.0 will be deprecated:
在.NET 2.0 / 3.5应用程序中托管Windows PowerShell 2.0 如果您使用.NET 2.0 / 3.5(aka CLR2)开发了一个应用程序,并且托管了诸如System.Management.Automation.dll之类的PowerShell程序集,那么您将使用这些程序集的Windows PowerShell 2.0版本。在这种情况下,您应该使用Windows PowerShell 3.0或更高版本的参考程序集将应用程序迁移到.NET 4.6+(又名CLR4)。这样,您将使用包装盒上可用的最新版本的Windows PowerShell程序集。 (注意:这可能需要Windows 7或Server 2008 R2用户安装.NET 4.6+和/或WMF 3.0或更高版本。)
所以这是问题:
因此,如果我想将PowerShell程序集升级到较新的版本,只需要在.NET4.6 +中重新编译应用程序?如果没有编译错误并且编译的exe可以正常运行,是否表示我不需要更改源代码?
我发现可以通过NuGet包添加Microsoft.PowerShell.5.ReferenceAssemblies,此方法与添加引用是否有不同的行为?
exe是否在运行时从参考路径中读取System.Management.Automation.dll库,并且如果运行exe的计算机在参考路径中没有该库,那么它将获取错误?
谢谢!