C# 无法加载DLL';Microsoft.Quantum.Simulator.Runtime.dll';

C# 无法加载DLL';Microsoft.Quantum.Simulator.Runtime.dll';,c#,.net,visual-studio-code,quantum-computing,q#,C#,.net,Visual Studio Code,Quantum Computing,Q#,无法加载DLL“Microsoft.Quantum.Simulator.Runtime.DLL”错误,尝试通过运行teleport示例程序验证我的Q#环境 dotnet build dotnet run platform windows 7 64 bit with AVX enabled. vscode with .NET Core SDK 2.0 Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'M

无法加载DLL
“Microsoft.Quantum.Simulator.Runtime.DLL”
错误,尝试通过运行teleport示例程序验证我的Q#环境

dotnet build
dotnet run

platform windows 7 64 bit with AVX enabled. vscode with .NET Core SDK 2.0


Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'Microsoft.Quantum.Simulator.Runtime.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   at Microsoft.Quantum.Simulation.Simulators.QuantumSimulator.Init()
   at Microsoft.Quantum.Simulation.Simulators.QuantumSimulator..ctor(Boolean throwOnReleasingQubitsNotInZeroState, Nullable`1 randomNumberGeneratorSeed, Boolean disableBorrowing)
   at Microsoft.Quantum.Examples.Teleportation.Program.Main(String[] args) in C:\opt\workspace\quantum\Quantum\Samples\Teleportation\Program.cs:line 13

从中复制Microsoft.Quantum.Simulator.Runtime.dll
C:\Users\{user}\.nuget\packages\microsoft.quantum.development.kit\0.2.1802.2202-preview\runtimes\win10-x64
to
C:\Users\{user}\.nuget\packages\microsoft.quantum.development.kit\0.2.1802.2202-preview\lib\netstandard2.0
。虽然我还没有使用较旧的Microsoft Quantum开发工具包版本对此进行测试,但0.2.1802.2202版本似乎存在问题。确保检查AVX是否可用,您可以使用CPU-Z工具在说明部分检查

然后运行
dotnet run
,这将导致

Round 0:        Sent False,     got False.
Teleportation successful!!

Round 1:        Sent True,      got True.
Teleportation successful!!

Round 2:        Sent False,     got False.
Teleportation successful!!

Round 3:        Sent False,     got False.
Teleportation successful!!

Round 4:        Sent False,     got False.
Teleportation successful!!

Round 5:        Sent False,     got False.
Teleportation successful!!

Round 6:        Sent False,     got False.
Teleportation successful!!

Round 7:        Sent True,      got True.
Teleportation successful!!



Press Enter to continue...

从中复制Microsoft.Quantum.Simulator.Runtime.dll
C:\Users\{user}\.nuget\packages\microsoft.quantum.development.kit\0.2.1802.2202-preview\runtimes\win10-x64
to
C:\Users\{user}\.nuget\packages\microsoft.quantum.development.kit\0.2.1802.2202-preview\lib\netstandard2.0
。虽然我还没有使用较旧的Microsoft Quantum开发工具包版本对此进行测试,但0.2.1802.2202版本似乎存在问题。确保检查AVX是否可用,您可以使用CPU-Z工具在说明部分检查

然后运行
dotnet run
,这将导致

Round 0:        Sent False,     got False.
Teleportation successful!!

Round 1:        Sent True,      got True.
Teleportation successful!!

Round 2:        Sent False,     got False.
Teleportation successful!!

Round 3:        Sent False,     got False.
Teleportation successful!!

Round 4:        Sent False,     got False.
Teleportation successful!!

Round 5:        Sent False,     got False.
Teleportation successful!!

Round 6:        Sent False,     got False.
Teleportation successful!!

Round 7:        Sent True,      got True.
Teleportation successful!!



Press Enter to continue...

该模拟器仅在Windows 10中测试/支持。我强烈建议升级您的系统。

该模拟器仅在Windows 10中测试/支持。我强烈建议升级您的系统。

在Ubuntu bionic下,我必须安装
libgomp1
,因为
Microsoft.Quantum.Simulator.Runtime.dll
依赖于
libgomp.so.1

sudo apt install libgomp1
这里可以看到依赖关系

ldd -r ~/.nuget/packages/microsoft.quantum.development.kit/0.2.1802.2202-preview/runtimes/linux-x64/native/Microsoft.Quantum.Simulator.Runtime.dll

linux-vdso.so.1 (0x00007ffcbb4f4000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fd537237000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd536e99000)
libgomp.so.1 => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd536aa8000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd537832000)

在Ubuntu bionic下,我必须安装
libgomp1
,因为
Microsoft.Quantum.Simulator.Runtime.dll
依赖于
libgomp.so.1

sudo apt install libgomp1
这里可以看到依赖关系

ldd -r ~/.nuget/packages/microsoft.quantum.development.kit/0.2.1802.2202-preview/runtimes/linux-x64/native/Microsoft.Quantum.Simulator.Runtime.dll

linux-vdso.so.1 (0x00007ffcbb4f4000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fd537237000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd536e99000)
libgomp.so.1 => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd536aa8000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd537832000)

对于centos用户:yum安装libgompf对于centos用户:yum安装libgomp