首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少类型、命名空间、指令和程序集引用

缺少类型、命名空间、指令和程序集引用
EN

Stack Overflow用户
提问于 2022-02-13 11:27:27
回答 1查看 84关注 0票数 3

我使用VS Code进行C#Unity3D以及TypeScriptAngularPython编程,因此我拥有几乎所有必需的扩展,包括.NET FrameworkCore以及Quantum Development Kit (QDK) + Q# Interoperability Tools,以及C#Python VS Code的扩展。

我根据几个教程设计了以下步骤来创建我的第一个量子Hello:

代码语言:javascript
复制
$ dotnet --version
$ dotnet --list-sdks
$ dotnet --list-runtimes

$ dotnet new globaljson                                     # Create a "global.json" file in your current directory folder.  
$ dotnet new globaljson --sdk-version 3.1.416 --force       # Change the current SDK version of your project.

$ dotnet new -i Microsoft.DotNet.Web.Spa.ProjectTemplates
$ dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2-*"

# First, create a Q# application and a .NET host, and then make a call to Q# from the host.
# Create a project for your Q# library and for the .NET host that will call
# into the operations and functions defined in your Q# library.

$ dotnet new classlib -lang Q# -o quantum                         # Create a new Q# class-library project.
$ dotnet new console -lang C# -o host                             # Create a new C# console project.

$ cd host                                                         # Navigate into the C# host directory.
$ dotnet add reference ../quantum/quantum.csproj                  # Add your Q# class-library project as a reference to your C# console project.

$ cd ..                                                           # Exit the C# host directory.
$ dotnet new sln -n quantum-dotnet                                # Create a new solution for both projects.
$ dotnet sln quantum-dotnet.sln add ./quantum/quantum.csproj      # Add the Q# class-library project to the solution.
$ dotnet sln quantum-dotnet.sln add ./host/host.csproj            # Add the C# host project to the solution.

# The -o or --output command specifies the location to place the generated output.

但是,一旦这些都完成了,我就会得到以下的错误:

我做错了什么?我遗漏了什么?

以下是一些附加信息:

代码语言:javascript
复制
$ dotnet --list-sdks
3.1.416 [C:\Program Files\dotnet\sdk]
5.0.404 [C:\Program Files\dotnet\sdk]

$ dotnet --version  
3.1.416

$ dotnet restore
  Determining projects to restore...
  Restored C:\Users\Muhy\Dropbox\Q\Q#-programs\Qtest\quantum\quantum.csproj (in 484 ms).
  Restored C:\Users\Muhy\Dropbox\Q\Q#-programs\Qtest\host\host.csproj (in 782 ms).

当我运行dotnet build时,我得到以下信息:

微软(注册商标)建立引擎版本16.7.2+b60ddb6f4为.NET版权(C)微软公司。版权所有。

决定恢复的项目..。所有的项目都是最新的恢复。不可能找到任何兼容的框架版本--框架'Microsoft.NETCore.App',没有找到版本'2.0.0‘。-发现了以下框架: 3.1.22 at C:\Program Files\dotnet\shared\Microsoft.NETCore.App 5.0.13 at C:\Program Files\dotnet\shared\Microsoft.NETCore.App

您可以通过安装指定的框架和/或SDK来解决这个问题。

指定的框架可以在:- C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\build\Microsoft.Quantum.Development.Kit.targets(17,5):C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\build../tools/qsc/qsc.dll MSB3073:命令"dotnet C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\build../tools/qsc/qsc.dll-输入“Operation.qs--引用"C:\”中找到。Users\Muhy.nuget\packages\microsoft.quantum.canon\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Canon.dll“"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.MetaData.dll”"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\“"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Simulation.Common.dll”"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Simulation.Core.dll“"C:\Users\Muhy.nuget\packages\microsoft.quantum.development Microsoft.Quantum.Primitives.dll”.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime.dll“"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Simulation.Simulators.dll”--输出路径obj\qsharp\src“与代码-2147450730一起退出。C:\Users\Muhy\Dropbox\Q\Q#-programs\Qtest\quantum\quantum.csproj

构建失败。

C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\build\Microsoft.Quantum.Development.Kit.targets(17,5):error MSB3073:命令"dotnet C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\build../tools/qsc/qsc.dll -输入“Operation.qs-引用"C:\Users\Muhy.nuget\packages\microsoft.quantum.canon\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Canon.dll“"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.MetaData.dll”"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Primitives.dll“"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Simulation.Common.dll“"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Simulation.Core.dll”"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime.dll“"C:\Users\Muhy.nuget\packages\microsoft.quantum.development.kit\0.2.1802.1603-preview\lib\netstandard2.0\Microsoft.Quantum.Simulation.Simulators.dll”--输出路径obj\qsharp\src“与代码-2147450730一起退出。C:\Users\Muhy\Dropbox\Q\Q#-programs\Qtest\quantum\quantum.csproj 0警告1错误

当我还构建这个项目(dotnet build quantum-dotnet.slndotnet build ./host/host.csproj)时,我会得到相同的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-27 10:24:54

在另一个论坛上的用户的帮助下,问题在于命令:

代码语言:javascript
复制
dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2-*"

已安装的0.2.1802.1603-preview版本,非常老。最新版本是0.22.187631

这就是诀窍:

代码语言:javascript
复制
dotnet new -i "Microsoft.Quantum.ProjectTemplates"

其次是:

代码语言:javascript
复制
dotnet new --update-apply

要更新所有项目模板,请执行以下操作。在此之后,重新创建项目修复了所有错误。

现在,我相信以下的一套指令应该适用于每一个初学者:

代码语言:javascript
复制
# Install the .NET Framework and Core as well as the Quantum Development Kit (QDK)
# plus the Q# Interoperability Tools and also C# and Python extensions for VS Code.

$ dotnet --version
$ dotnet --list-sdks
$ dotnet --list-runtimes

$ dotnet new globaljson                                             # Create a "global.json" file in your current directory folder.  
$ dotnet new globaljson --sdk-version 3.1.416 --force               # Change the current SDK version of your project to .NET 3.1.416

$ dotnet new -i Microsoft.DotNet.Web.Spa.ProjectTemplates
$ dotnet new -i "Microsoft.Quantum.ProjectTemplates"
$ dotnet new --update-apply

# First, create a Q# application and a .NET host, and then make a call to Q# from the host.
# Create a project for your Q# library and for the .NET host that will call
# into the operations and functions defined in your Q# library.

$ dotnet new classlib -lang Q# -o quantum                           # Create a new Q# class-library project.
$ dotnet new console -lang C# -o host                               # Create a new C# console project.
                                                                    # The -o or --output command specifies the location to place the generated output.

$ cd host                                                           # Navigate into the C# host directory.
$ dotnet add reference ../quantum/quantum.csproj                    # Add your Q# class-library project as a reference to your C# console project.

$ cd ..                                                             # Exit the C# host directory.
$ dotnet new sln -n quantum-dotnet                                  # Create a new solution for both projects.
$ dotnet sln quantum-dotnet.sln add ./quantum/quantum.csproj        # Add the Q# class-library project to the solution.
$ dotnet sln quantum-dotnet.sln add ./host/host.csproj              # Add the C# host project to the solution.

$ cd host
$ dotnet build
$ dotnet run
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71100198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档