1. Собственная dll myNativeLib.dll, скомпилированная с помощью MSVC (созданная в рамках проекта .vcxproj)
2. Проект .NET8, ориентированный на CPP/CLI, который создает myInteropLib.dll (созданный в рамках проекта .vcxproj)
Я публикую библиотеки DLL вместе, используя файл nuspec:
Код: Выделить всё
0.0.1
Код: Выделить всё
Код: Выделить всё
myCSProject/bin/x64/Debug/net8.0-windows7/myInteropLib.dll
myCSProject/bin/x64/Debug/net8.0-windows7/runtimes/win-x64/native/Ijwhost.dll
myCSProject/bin/x64/Debug/net8.0-windows7/runtimes/win-x64/native/myNativeLib.dll
Код: Выделить всё
OneTimeSetUp: SetUp : System.IO.FileNotFoundException : Could not load file or assembly 'C:\path\to\myCSProject\bin\x64\Debug\net8.0-windows7\myInteropLib.dll'. The specified module could not be found.

.deps.json для myCSProject (и myCSProject.test) показывает собственные зависимости с правильными путями:
Код: Выделить всё
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"MyCSProject.Test/1.0.0": {
"dependencies": {
"myCSProject": "1.0.0",
"Microsoft.NET.Test.Sdk": "18.0.1",
"NUnit": "4.5.0",
"NUnit.Analyzers": "4.11.2",
"NUnit3TestAdapter": "6.1.0",
"coverlet.collector": "6.0.4"
},
"runtime": {
"myCSProject.dll": {}
}
},
"coverlet.collector/6.0.4": {},
"myInterOpLib/0.0.1": {
"runtime": {
"lib/net8.0-windows7/myInterOpLib.dll": {
"assemblyVersion": "1.0.9523.27495",
"fileVersion": "10.5.0.0"
}
},
"runtimeTargets": {
"runtimes/win-x64/native/Ijwhost.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "8.0.2325.60607"
},
"runtimes/win-x64/native/myNativeLib.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "10.5.0.0"
}
}
},
Что дает?
Подробнее здесь: https://stackoverflow.com/questions/798 ... -in-net8-c
Мобильная версия