建立和修改Q#库

时间:2019-07-03 18:45:45

标签: q#

如何在本地修改库(https://github.com/microsoft/QuantumLibraries)?例如,创建对Quantum Chemistry库的引用仅使用预构建的DLL。有没有办法引用本地Quantum Chem库,对该代码进行编辑并查看反映的更改?谢谢。

1 个答案:

答案 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。