PowerShell无法找到.NET框架

PowerShell无法找到.NET框架

问题描述:

我刚刚从Visual Studio 2012升级到Visual Studio 2015.当我在Visual Studio中打开about框时,它告诉我它正在运行.NET版本4.6.00081。PowerShell无法找到.NET框架

虽然我似乎能够在PowerShell ISE中加载和运行脚本,但是从命令行运行PowerShell会给我以下错误。

.NET Framework的版本v4.6.00081未安装,需要运行版本3的Windows PowerShell的 。

我已经更新powershell.exe.configpowershell_ise.exe.config(下两个System32下SYSWOW64文件夹)以下,但错误依然存在。

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.6.00081"/> 
    <supportedRuntime version="v4.0.30319"/> 
    </startup> 
</configuration> 

我想运行一些现有的PowerShell脚本。我是C#开发人员,但我对PowerShell几乎一无所知。我尝试了所有我能想到的。我会喜欢一些关于我还能尝试的建议。

supportedRuntime元素要求您指定CLR版本,而您在VS中看到的有关对话框的内容是.NET Framework版本。你不能认为两者是一回事。删除4.6行,你的错误应该消失。

+0

谢谢。但是我试图让PowerShell使用当前版本的.NET。我以为我们已经完成了以前的版本。另外,这就是我在另一个系统上的方式。你是说我做不到? –

+0

@JonathanWood,如果您的目标是要求您的应用只能在某个特定版本的.NET Framework上运行,则应该像这样指定它,https://github.com/lextm/sharpsnmplib/blob/master/Samples/ CSharp/snmpbulkget/app.config'sku'属性是这个应用程序要求的配置文件,如果该配置文件不存在,它会回落到下一个,或者什么也没有引发异常。 –