Почему я получаю ошибку при использовании DumpMachine в q #? - PullRequest
1 голос
/ 06 мая 2020

Вот мой код:

using (q = Qubit()) {
            Message("Input:");
            Message("q = ∣0❭, index = 1");

            Message("Requaired Output:");
            Message("∣0❭:     0.707107 +  0.000000 i");
            Message("∣1❭:     0.000000 + -0.707107 i");

            Task12(q, 1);
            Message("Your Output:");
            DumpMachine();

            Reset(q);
        }

Но я получаю эту ошибку:

The type or namespace name '_2e502c3cdee5457783e1ea9b1f54eb1b_DumpMachine' does not exist in the namespace 'Microsoft.Quantum.Diagnostics' (are you missing an assembly reference?)

Кто-нибудь знает, почему?

1 Ответ

0 голосов
/ 07 мая 2020

Можете ли вы проверить, есть ли у вас open Microsoft.Quantum.Diagnostics; в списке?

Я скопировал ваш код и добавил функции, у меня работает, я использую. NET Core 3.1 и VisualStudio 2019, вот мой код, я также добавил его в GitHub https://github.com/nahidf-adventures/qsharp-adventures/tree/master/src/QbitSample:

namespace QbitSample {

    open Microsoft.Quantum.Canon;
    open Microsoft.Quantum.Intrinsic;
    open Microsoft.Quantum.Measurement;
    open Microsoft.Quantum.Diagnostics;


    @EntryPoint()
    operation HelloQ() : Unit {
        using (q = Qubit()) {
            Message("Input:");
            Message("q = ∣0❭, index = 1");

            Message("Requaired Output:");
            Message("∣0❭:     0.707107 +  0.000000 i");
            Message("∣1❭:     0.000000 + -0.707107 i");

            Task12(q, 1);
            Message("Your Output:");
            DumpMachine();

            Reset(q);
        }
    }

    operation Task12(q: Qubit, count : Int) : Unit {
        }
    }
...