c # — Создать пакет nuget из проекта .Net Standard и родных библиотек

У меня есть .Net Стандартный проект, который ссылается на C ++ DLL

Сейчас я использую DllImport, чтобы заставить его работать.

Я хочу создать пакет Nuget, который поставляется с соответствующими dll для всех целей.

Я предполагаю, что мне придется создать библиотеку C ++ для всех целей (Windows x64, Windows x86, Linux и т. Д.). Хорошо.

Теперь мне нужно как-то упаковать их все в пакет nuget, и я не уверен, как это сделать)

Как добавить библиотеку C ++ в проект .NET Core Это похоже, но ответ не является правильным для проектов .Net Standard, которые имеют новый стиль csproj и используют dotnet cli, а не nuget cli. Также это не объясняет, как это работает с несколькими целями.

Кроме того, я сохраняю свои DllImports, или я должен изменить их? На данный момент я использую абсолютный путь к файлу DLL, как показано ниже:

internal const string DLL = "D:\\filepath\\mydll.dll";

[DllImport(DLL)]
internal static extern int MyMethod();

0

Решение

Вы можете создавать пакеты nuget для нескольких целей, таких как этот и добавить c ++ dll-s как содержание поэтому он будет скопирован во время компиляции в папку вывода сборки, и вы можете использовать DLLImport,

0

Другие решения

Других решений пока нет …