在 Visual Studio 2019 的 PowerShell window 中找不到 ILDASM
ILDASM could not be found in the PowerShell window of Visual Studio 2019
尝试按照教程步骤反汇编一个可执行的 c# 文件,但每当我在命令提示符下键入 ildasm 时,它都会说在开发人员 powershell 中无法识别。当我对 dll 文件执行此操作时也显示相同的消息。请帮忙
错误消息暗示 ildasm.exe
的目录不在 $env:PATH
环境变量中存储的目录列表中,因此您不能通过 仅名称。
要通过其 path 从 PowerShell 调用它,还有一个额外的语法要求:通过需要 quoting 的路径调用可执行文件 - 例如在你的情况下,假设路径包含 spaces - 需要通过 &
调用,call operator:
# Add arguments as needed.
& 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ildasm.exe'
要将ildasm.exe
的目录添加到您的$env:PATH
变量,运行以下内容:
$env:PATH += ';C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools'
此仅在当前会话.
的剩余时间有效
如果你想让它在以后的PowerShell会话中默认生效,运行以下一次,然后开始新的会话。该命令将 $env:PATH
扩展命令添加到您的 PowerShell profile file、$PROFILE
,它会在会话启动时自动加载:
if (-not (Test-Path $PROFILE)) { New-Item -Force $PROFILE }
Add-Content $PROFILE -Value '$env:PATH += ";C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools"'
如果您希望更改在系统范围(在以后的会话中)生效,您需要更新存储在注册表中的 PATH
环境变量 的 persistent 定义; 运行以下一次,然后启动一个新的 PowerShell 会话。
[Environment]::SetEnvironmentVariable(
'Path',
(
[Environment]::GetEnvironmentVariable('Path', 'User') +
';C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools'
),
'User'
)
以上修改了当前用户 的永久PATH
环境变量。
要修改 所有 用户的定义,请将 'User'
的两个实例替换为 'Machine'
,但请注意,您必须 运行 来自 提升 会话(运行 作为管理员)。
尝试按照教程步骤反汇编一个可执行的 c# 文件,但每当我在命令提示符下键入 ildasm 时,它都会说在开发人员 powershell 中无法识别。当我对 dll 文件执行此操作时也显示相同的消息。请帮忙
错误消息暗示 ildasm.exe
的目录不在 $env:PATH
环境变量中存储的目录列表中,因此您不能通过 仅名称。
要通过其 path 从 PowerShell 调用它,还有一个额外的语法要求:通过需要 quoting 的路径调用可执行文件 - 例如在你的情况下,假设路径包含 spaces - 需要通过 &
调用,call operator:
# Add arguments as needed.
& 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ildasm.exe'
要将ildasm.exe
的目录添加到您的$env:PATH
变量,运行以下内容:
$env:PATH += ';C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools'
此仅在当前会话.
的剩余时间有效如果你想让它在以后的PowerShell会话中默认生效,运行以下一次,然后开始新的会话。该命令将 $env:PATH
扩展命令添加到您的 PowerShell profile file、$PROFILE
,它会在会话启动时自动加载:
if (-not (Test-Path $PROFILE)) { New-Item -Force $PROFILE }
Add-Content $PROFILE -Value '$env:PATH += ";C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools"'
如果您希望更改在系统范围(在以后的会话中)生效,您需要更新存储在注册表中的 PATH
环境变量 的 persistent 定义; 运行以下一次,然后启动一个新的 PowerShell 会话。
[Environment]::SetEnvironmentVariable(
'Path',
(
[Environment]::GetEnvironmentVariable('Path', 'User') +
';C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools'
),
'User'
)
以上修改了当前用户 的永久PATH
环境变量。
要修改 所有 用户的定义,请将 'User'
的两个实例替换为 'Machine'
,但请注意,您必须 运行 来自 提升 会话(运行 作为管理员)。