'Class.function' не существует в текущем контексте при использовании самодельного пакета NuGet - PullRequest
2 голосов
/ 19 июня 2020

Я создал пакет NuGet в библиотеке классов .NetCore и получил доступ к нему из другой библиотеки классов. net. Я не могу вызвать свои методы publi c и stati c из класса publi c и stati c, даже если имя класса обнаружено.

Следует отметить, что пакет Package правильно работает в консольном приложении, но у меня возникают проблемы с доступом к функциям в библиотеке классов.

Чтобы создать пакет, я перешел в свойство-> Пакет-> Создать пакет при сборке, а также в метод nuget.exe. Оба приводят к одному и тому же

И пакет, и новый проект. net библиотеки классов ядра 3.1

Может кто-нибудь, пожалуйста, мне помочь

Код пакета NuGet

using System;
using System.Collections.Generic;
using System.Text;

namespace TrailCorePackage.helper
{
    public static class Utility
    {
        public static void print(string value)
        {
            Console.WriteLine(value);
            Console.ReadKey();
        }
    }
}

Код при вызове функции из другой библиотеки классов

using System;
using TrailCorePackage.helper;

namespace ClassLibrary5
{
    public class Class1
    {
        Utility.print("value");
    }
}

Ошибка

Severity    Code    Description Project File    Line    Suppression State
Error   IDE1007 The name 'Utility.print' does not exist in the current context. ClassLibrary5   C:\Users\---\ClassLibrary5\Class1.cs    Active

1 Ответ

3 голосов
/ 20 июня 2020

Поскольку пока не могу комментировать, добавлю как ответ. Вы добавили ссылку на свой пакет в консольное приложение?

UPD.

Я только что заметил, что вы вызываете функцию внутри тела класса. Это не сработает. Что-то вроде этого, вероятно, сработает.

using System;
using TrailCorePackage.helper;

namespace ClassLibrary5
{
    public class Class1
    {
        public void AnyMethod() 
        {
            Utility.print("value");
        }   
    }
}
...