Я столкнулся со странной проблемой при разработке пакета NuGet. Из-за архитектуры устаревшего программного обеспечения, для которого я пытаюсь написать новую функциональность, она находится в .NET Framework 4.6.1 (знаю, знаю. Мы работаем над обновлением). Пакет NuGet написан на C#, а приложение, которое будет ссылаться на пакет NuGet, написано на VB .NET, то есть на .NET Framework 4.6.1. Устаревшее приложение использует три пакета NuGet, которые я написал для этого решения, но они не отображаются как ошибки.
Проблема находится в заголовке этого вопроса. Открытый статический класс и методы в написанном мной пакете NuGet помечены как «не объявленные. Они могут быть недоступны из-за уровня защиты». Из-за этой ошибки я, очевидно, не могу выполнить сборку.
Я пробовал следующее:
[*]Удаление BIN/OBJ папки
[*]Пересборка/очистка и сборка решений
[*]Увеличение версии NuGet для проверки того, что старые ссылки не сохраняются
[*]Добавление ссылок на пакеты NuGet, которые поддерживают мой пакет NuGet (в основном пакеты, поддерживающие Json)
[*]Удаление и чтение ссылок на пакеты NuGet в мои пакеты
Возможно, также стоит отметить, что ветка, в которой я работаю для устаревших приложений, собирается без изменений, а также строится со ссылками на мои пакеты NuGet. Он не собирается, как только я добавляю вызовы в пакет NuGet. Мне интересно, проблема ли это в функции Wait(), но я не могу определить реальную проблему. Ошибки, которые появляются в выходных данных во время сборки, просто говорят на одном и том же языке: «не найдено/недоступно».
Примеры кода ниже:
Внутри NuGet, у меня есть следующий код.
public static class ClassInNugetPackage
{
public static async Task Initialize(string customerNumber, int locationId)
{
await SystemState.Instance.Initialize(customerNumber, locationId);
}
public static async Task SetApiUrl(string url)
{
await SystemState.Instance.SetApiUrl(url);
}
}
Устаревшее приложение будет вызывать это в конструкторе формы следующим образом:
Public Sub New()
InitializeComponent()
Dim customerNumber = "170"
Dim customerLocationId = 2140
NamespaceInNugetPackage.ClassInNugetPackage.SetApiUrl("https://localhost:7012").Wait()
NamespaceInNugetPackage.ClassInNugetPackage.Initialize(customerNumber, customerLocationId).Wait()
If ClassInNugetPackage.BooleanValue.IsEnabled Then
MsgBox("Yes!")
End If
...
End Sub
Подробнее здесь: https://stackoverflow.com/questions/786 ... et-package
Открытый статический класс и методы не найдены в пакете NuGet. ⇐ C#
Место общения программистов C#
-
Anonymous
1719422212
Anonymous
Я столкнулся со странной проблемой при разработке пакета NuGet. Из-за архитектуры устаревшего программного обеспечения, для которого я пытаюсь написать новую функциональность, она находится в .NET Framework 4.6.1 (знаю, знаю. Мы работаем над обновлением). Пакет NuGet написан на C#, а приложение, которое будет ссылаться на пакет NuGet, написано на VB .NET, то есть на .NET Framework 4.6.1. Устаревшее приложение использует три пакета NuGet, которые я написал для этого решения, но они не отображаются как ошибки.
Проблема находится в заголовке этого вопроса. Открытый статический класс и методы в написанном мной пакете NuGet помечены как «не объявленные. Они могут быть недоступны из-за уровня защиты». Из-за этой ошибки я, очевидно, не могу выполнить сборку.
Я пробовал следующее:
[*]Удаление BIN/OBJ папки
[*]Пересборка/очистка и сборка решений
[*]Увеличение версии NuGet для проверки того, что старые ссылки не сохраняются
[*]Добавление ссылок на пакеты NuGet, которые поддерживают мой пакет NuGet (в основном пакеты, поддерживающие Json)
[*]Удаление и чтение ссылок на пакеты NuGet в мои пакеты
Возможно, также стоит отметить, что ветка, в которой я работаю для устаревших приложений, собирается без изменений, а также строится со ссылками на мои пакеты NuGet. Он не собирается, как только я добавляю вызовы в пакет NuGet. Мне интересно, проблема ли это в функции Wait(), но я не могу определить реальную проблему. Ошибки, которые появляются в выходных данных во время сборки, просто говорят на одном и том же языке: «не найдено/недоступно».
Примеры кода ниже:
Внутри NuGet, у меня есть следующий код.
public static class ClassInNugetPackage
{
public static async Task Initialize(string customerNumber, int locationId)
{
await SystemState.Instance.Initialize(customerNumber, locationId);
}
public static async Task SetApiUrl(string url)
{
await SystemState.Instance.SetApiUrl(url);
}
}
Устаревшее приложение будет вызывать это в конструкторе формы следующим образом:
Public Sub New()
InitializeComponent()
Dim customerNumber = "170"
Dim customerLocationId = 2140
NamespaceInNugetPackage.ClassInNugetPackage.SetApiUrl("https://localhost:7012").Wait()
NamespaceInNugetPackage.ClassInNugetPackage.Initialize(customerNumber, customerLocationId).Wait()
If ClassInNugetPackage.BooleanValue.IsEnabled Then
MsgBox("Yes!")
End If
...
End Sub
Подробнее здесь: [url]https://stackoverflow.com/questions/78668922/public-static-class-and-methods-not-found-in-nuget-package[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия