如何在本地修改库(https://github.com/microsoft/QuantumLibraries)?例如,创建对Quantum Chemistry库的引用仅使用预构建的DLL。有没有办法引用本地Quantum Chem库,对该代码进行编辑并查看反映的更改?谢谢。
答案 0 :(得分:0)
Quantum开发工具包使用.NET Core SDK来查找各种Q#库并将其链接在一起,尤其是通过C#项目文件(*.csproj
)。
在C#项目文件中,您可以使用包引用或项目引用声明对另一个库的依赖关系。
程序包引用(例如:<PackageReference Include="Microsoft.Quantum.Standard" Version="0.7.1905.3109" />
)指示.NET Core SDK从NuGet.org下载具有给定名称和版本的程序包,然后链接到项目中包含的所有DLL。
相反,项目引用(例如:<ProjectReference Include="..\..\..\Standard\src\Standard.csproj" />
)指示.NET Core SDK首先构建引用的项目,然后链接到其DLL。
要使用从https://github.com/microsoft/QuantumLibraries构建的库,我们通常建议使用软件包引用,因为跨不同存储库的项目引用可能难以管理-您需要可预测项目文件的路径,这可以在那种情况下很难做到。 这就是为什么我们对QuantumLibraries回购采取这种策略的原因,该回购中的引用是项目引用,而对Quantum Development Kit的其他部分的引用是程序包引用。 例如,化学库运行时使用project reference链接到同一存储库中的标准库版本,但使用https://github.com/microsoft/Quantum use package references中的示例:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.1.1" />
<PackageReference Include="Microsoft.Quantum.Standard" Version="0.7.1905.3109" />
<PackageReference Include="Microsoft.Quantum.Chemistry" Version="0.7.1905.3109" />
<PackageReference Include="Microsoft.Quantum.Development.Kit" Version="0.7.1905.3109" />
<PackageReference Include="Microsoft.Quantum.Research" Version="0.7.1905.3109" />
</ItemGroup>
<ItemGroup>
<Compile Update="Program.cs">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</Compile>
</ItemGroup>
</Project>
也就是说,如果您要在本地测试要对Quantum Development Kit做出的贡献,则使用项目引用链接到Q#标准和化学库有时会很有帮助,直到包含您的贡献的新软件包被发布为止。构建并发布到NuGet.org。