无法在 VS Code 中构建 Q# 程序

Unable to build a Q# program in VS Code

我是量子计算的新手,刚刚安装了 Microsoft 的 Visual Studio 代码和它的 QDK 扩展。但是,当我尝试构建和 运行(来自终端的 dotnet 运行)时,尽管安装了扩展(quantum sdk),但它无法为我提供输出并抛出一些关于命名空间的错误.我很可能在做一些愚蠢的事情所以请指出正确的方向

我的程序是:

namespace helloqworld {

    open Microsoft.Quantum.Canon;
    open Microsoft.Quantum.Intrinsic;


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

我收到以下错误:

No namespace with the name "Microsoft.Quantum.Canon" exists.
No namespace with the name "Microsoft.Quantum.Intrinsic" exists.
{
    "resource": "/Users/nalini/Desktop/helloqworld/Program.qs",
    "owner": "_generated_diagnostic_collection_name_#0",
    "code": "QS6005",
    "severity": 8,
    "message": "No type with the name \"EntryPoint\" exists in any of the open namespaces.",
    "source": "/Users/nalini/Desktop/helloqworld/Program.qs",
    "startLineNumber": 9,
    "startColumn": 6,
    "endLineNumber": 9,
    "endColumn": 16
}
{
    "resource": "/Users/nalini/Desktop/helloqworld/Program.qs",
    "owner": "_generated_diagnostic_collection_name_#0",
    "code": "QS5022",
    "severity": 8,
    "message": "No identifier with the name \"Message\" exists.",
    "source": "/Users/nalini/Desktop/helloqworld/Program.qs",
    "startLineNumber": 11,
    "startColumn": 9,
    "endLineNumber": 11,
    "endColumn": 16
}

我的 csproj 文件有:

Project Sdk="Microsoft.Quantum.Sdk/0.11.2004.2825">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

</Project>

如果您只是从终端执行 dotnet run,您的代码构建和 运行 是否成功?如果是这种情况,则此错误来自 IntelliSense。

您使用的是 .NET Core 3.1.300 吗?我认为 QDK 版本 0.11.2004.2825 在 .NET Core 3.1.300(relevant issue on GitHub)中存在 IntelliSense 问题,将 .NET Core 降级到 3.1.201 可以解决这个问题。

我今天遇到了同样的问题,通过从 https://dotnet.microsoft.com/en-us/download/dotnet-framework 下载 Microsoft 最新版本的 .NET 解决了这个问题 确保为您的处理器下载正确的版本。