Как создать проект Dotnet Cross-Platform (Linux и Windows), а TargetFrameWork-только .NET 8.0C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как создать проект Dotnet Cross-Platform (Linux и Windows), а TargetFrameWork-только .NET 8.0

Сообщение Anonymous »

Вопрос
Можно ли создать пакет Nuget, который имеет только Net8.0 в качестве TargetFramework , но поддерживает специфические вызовы API Windows, которые доступны только при настройке TargetFramework для net8.0-windows10.19041.0 ? /> ogle
Я хочу создать небольшую кроссплатформенную (Linux и Windows) Bluetooth Le Library, которую я могу включить в качестве пакета Nuget в другие проекты Net8.0 . Проекты, включающие Nuget, должны быть в состоянии работать как на Windows, либо на Linux, но они не должны заботиться о своей ОС. Однако, чтобы заставить Windows Bluetooth работать, мне нужен доступ к Windows.Devices.Bluetooth , который, насколько мне известно, доступен только путем установки TargetFrameWork на net8.0-windows10.0.19041.0 вместо Net8.0 . теперь имеет другой TargetFrameWork . Мне понадобится включение проекта, чтобы также установить свой TargetFrameWork на net8.0-windows10.0.19041.0 , но я не хочу, и я также не могу по другим причинам. ( не совместим с платформой пакетов Net8.0-Windows10.0.19041.0 )
Multi TargetFramework также не решает мою проблему, так как проект, который включает в себя библиотеку Bluetooth, всегда узнает о том, что она работает, а затем выберет. net8.0-windows10.0.19041.0 .
Другие кроссплатформенные библиотеки Bluetooth LE, такие как 32Feet, имеют одинаковую проблему, и просто выполните несколько целевых кадров . Но еще раз, включающий проект должен знать, что его ОС, а затем либо выбрать Net8.0 или net8.0-windows10.0.19041.0 .
Должно быть решение моей проблемы, которое я не вижу. Иначе вся идея кроссплатформенного кода .NET не будет работать, когда мы введем специфическую территорию ОС. Я просто хочу единый пакет Nuget, который обрабатывает различные реализации, специфичные для ОС, в то же время нацеливаясь на net8.0 .
Идеи, которые я думал о
Я знаю, что есть ОС-ГВАРЫ ИЛИ ПРЕДПРОЦЕРСОВЫЕ РЕКРЕСТИ Функции. < /p>
Несколько TargetFramework < /code> не выглядит как решение моей проблемы, поскольку он выглядит более адаптированным к проектам, которые хотят поддерживать несколько разных версий .NET, а не несколько разных платформ. Существует microsoft.windows.sdk.contracts , но это только для версий .NET, чем .net 6.
Chatgpt сказал мне, чтобы мне понравилось разделить реализацию на Linux и Windows, а затем немного инъекции DI во время выполнения для загрузки соответствующего DLL, но я даже не уверен, что на самом деле будет работать.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -targetfra
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как создать проект Dotnet Cross-Platform (Linux/Win), поддерживающий вызовы Windows API с помощью TargetFramework = net8
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как вызовать API-интерфейсы Windows Runtime без установки DotNet TargetFramework на net8-windows.x?
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Создать миниатюры из PPT Slide Cross Platform в C#
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Создать миниатюры из PPT Slide Cross Platform в C#
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Нет такой опции: --platform linux-x86-64 при запуске pip install --platform
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»