【问题标题】:Q#: Error on dotnet run: System.ComponentModel.Win32Exception (5): Access is deniedQ#:dotnet 运行时出错:System.ComponentModel.Win32Exception (5):访问被拒绝
【发布时间】:2021-01-08 17:51:50
【问题描述】:

几天前我尝试使用here 列出的说明安装 Q#,但不幸的是,当我尝试使用命令dotnet run 运行示例程序时,它返回错误。也许我只是做错了什么,但我觉得我现在已经阅读了很多次说明。它可能与错误消息中的“Win32”有关,因为我有一个 64 位系统?据我所知,我安装了所有软件包的 x64 版本。您可能会注意到,我是 .NET 和 Q# 的新手。也许有人知道如何解决这个问题。提前谢谢!

代码:

namespace QH {
    open Microsoft.Quantum.Canon;
    open Microsoft.Quantum.Intrinsic;
    

    @EntryPoint()
    operation SayHello() : Unit {
        Message("Hello quantum world!");
    }
}

终端:

PS C:\Users\User\Documents\Q#\QH> dotnet run
System.ComponentModel.Win32Exception (5): Zugriff verweigert
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Microsoft.DotNet.Cli.Utils.Command.Execute(Action`1 processStarted)
   at Microsoft.DotNet.Cli.Utils.Command.Execute()
   at Microsoft.DotNet.Tools.Run.RunCommand.Execute()
   at Microsoft.DotNet.Tools.Run.RunCommand.Run(String[] args)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)

我尝试了什么:

  • 重新启动计算机
  • 重新安装 dotnet
  • 安装最新版本的 git,因为 Visual Studio Code 告诉我这样做
  • 另一个路径中的新项目
  • 以管理员身份启动 VS Code
  • 在命令行中运行 (dotnet run --project C:\Users\User\Documents\Q#\QH) - 返回相同的错误
  • 其他一些小事

【问题讨论】:

  • 你试过以管理员身份运行它吗?
  • @JairoBlancoAldao 是的

标签: .net visual-studio-code q#


【解决方案1】:

您需要类似 Python 文件的东西来运行代码。

import qsharp
from QH import SayHello
SayHello.simulate()

比运行 Python 文件而不是 QH.qs 文件

【讨论】:

  • 我首先通过 pip 为 python 安装了 qsharp 库来尝试这个,但是它不起作用并且在运行时给出了以下输出(python 脚本):IQ# is not installed. Please follow the instructions at https://aka.ms/qdk-install/python. Traceback (most recent call last): ... jupyter_client.kernelspec.NoSuchKernel: No such kernel named iqsharp During handling of the above exception, another exception occurred: Traceback (most recent call last): ... qsharp.clients.IQSharpNotInstalledError: IQ# is not installed. Please follow the instructions at https://aka.ms/qdk-install/python.
  • 然后我按照链接中的说明进行操作。我在anaconda中执行了这些命令:conda create -n qsharp-env -c quantum-engineering qsharp notebookconda activate qsharp-env,然后使用python C:\Users\User\Documents\Q#\QH\start.py从那里执行了python文件,但出现了以下错误:Traceback (most recent call last): File "C:\Users\User\Documents\Q#\QH\start.py", line 2, in <module> from QH import SayHello ModuleNotFoundError: No module named 'QH'我尝试将python脚本中的导入更改为Program.qs,@ 987654328@ 和 QH.csproj,结果相同
  • start.py 与 Program.qs 和 QH.csproj 文件在同一个文件夹中,我感觉 python 无法导入它们,因为它们不是用 python 编写的。但是,我在这里可能会遇到一些完全错误的事情。感谢您的帮助!
  • 顺便说一句,我忘了说,在我正在使用的示例项目中,Program.qs 包含我在问题中发布的代码,QH.csproj 包含以下代码:<Project Sdk="Microsoft.Quantum.Sdk/0.14.2011120240"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> </Project>
  • 当我开始时,我遇到了同样的错误 [Traceback(最近一次调用最后一次):文件“C:\Users\User\Documents\Q#\QH\start.py”,第 2 行,在 from QH import SayHello ModuleNotFoundError: No module named 'QH']...我无法解释原因,但我通过更改 HelloQuantum 中的命名空间名称来修复它
猜你喜欢
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多