在WSL的PowerShell中运行.NET6 DLL失败求助
解决WSL中PowerShell调用.NET DLL的问题
问题根源
你直接用& "mypathLinux\My.dll"调用DLL文件是错误的——DLL本身不是可执行程序,无法直接执行,必须通过dotnet命令作为宿主来运行它,就像你在WSL终端里手动执行dotnet myApp.dll那样。
正确的调用方式
把调用语句改成以下两种形式之一:
方式1:直接使用dotnet命令加DLL路径
& dotnet "mypathLinux/My.dll"
注意:WSL(Linux环境)下路径分隔符用/,虽然PowerShell在WSL里也能识别\,但推荐用符合Linux习惯的/避免潜在问题。
方式2:路径含特殊字符时,用变量存储后调用
$dllPath = "mypathLinux/My.dll" & dotnet $dllPath
额外检查项
- 确认WSL环境已安装.NET 6 SDK或Runtime,执行
dotnet --version验证版本匹配度。 - 检查DLL路径是否正确,可先用
Test-Path "mypathLinux/My.dll"验证文件是否存在。
内容的提问来源于stack exchange,提问作者KUMI
相关产品推荐
相关产品推荐

