Создайте nupkg, поддерживающий несколько платформ и архитектур.C#

Место общения программистов C#
Ответить
Anonymous
 Создайте nupkg, поддерживающий несколько платформ и архитектур.

Сообщение Anonymous »

У меня есть библиотека LibB, которая зависит от LibA.
LibA — это библиотека C++/CLI, которая зависит от статической библиотеки NativeLibA.
Я хочу выпустить LibB в качестве nupkg, поддерживающего .NET Framework 4.7.2 и .NET 8.0, а также архитектуры x86 и x64.
Поскольку LibA является библиотекой C++/CLI, Я не могу скомпилировать его как NetStandard2.0, а это значит, что в моем nupkg будет четыре разные версии LibA.
Я вижу, что в Интернете много подобных вопросов, но я не нашел подходящего ответа.
Вот мой текущий файл csproj для LibB, который я также использую для создания nupkg

Код: Выделить всё


netstandard2.0
LibB
Library B
1.2.3.4
ACME
ACME
Library B.
Copyright © ACME 2025




..\LibA\install\$(TargetFramework)\$(Platform)\LibA.dll

















Используя этот csproj, я могу создать nupkg, но когда я пытаюсь использовать его с любой платформой или архитектурой, я получаю следующую ошибку:

Не удалось загрузить файл или сборку «LibA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null» или одну из его зависимостей. Система не может найти указанный файл.
в Calculator.Calculator.Add(Int32 a, Int32 b)
в App.Program.Main(String[] args) в C:\Users\Marco\source \repos\multiarch-nuget\Test\App.cs:riga 13

Я также подготовил демонстрационный проект на github с полным примером.

Подробнее здесь: https://stackoverflow.com/questions/793 ... hitectures
Ответить

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

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

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

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

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