无法在 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 解决了这个问题
确保为您的处理器下载正确的版本。
我是量子计算的新手,刚刚安装了 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 解决了这个问题 确保为您的处理器下载正确的版本。