Hallo,
ich habe eine C++/CLI DLL die ich in ein Nuget Paket (MyLib) reinpacke.
Die DLL dient als Wrapper für diverse Unmanaged Sachen.
Die dafür benötigten Unmanaged DLLs habe ich in meiner nuspec wie folgt inkludiert:
<file src="out\Release\myNative.dll" target="lib\net5.0\myNative.dll" />
<file src="out\Release\myNative.exe" target="lib\net5.0\myNative.exe" />
Ich benötige die myNative.exe im Zielverzeichnis, weil diese von der C++/CLI DLL mit Start Process aufgerufen wird.
Mein Problem ist jedoch nun in der Anwendung die das Nuget Paket konsumiert folgendes:
Die Anwendung startet nicht und es kommt keine Fehlermeldung oder Exception.
Im Windows Event Log finde ich jedoch folgenden Eintrag:
An assembly specified in the application dependencies manifest (MyTestApp.deps.json) has already been found but with a different file extension:
package: 'MyLib', version: '1.1.3'
path: 'lib/net5.0/MyNative.exe'
previously found assembly: 'C:\dev\sandbox\MyTestApp\bin\Debug\net5.0\MyNative.dll'
Soweit ich das bisher feststellen konnte, handelt es sich da um ein Problem in der MyTestApp.deps.json.
Die sieht folgendermaßen aus:
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v5.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v5.0": {
"MyTestApp/1.0.0": {
"dependencies": {
"MyLib": "1.1.3"
},
"runtime": {
"MyTestApp.dll": {}
}
},
"MyLib/1.1.3": {
"runtime": {
"lib/net5.0/MyLib.dll": {
"assemblyVersion": "0.0.0.0",
"fileVersion": "1.1.3.0"
},
"lib/net5.0/Ijwhost.dll": {
"fileVersion": "5.0.1722.21314"
},
"lib/net5.0/myNative.dll": {
"fileVersion": "10.4.0.0"
},
"lib/net5.0/myNative.exe": {
"fileVersion": "1.1.0.0"
}
}
}
}
},
"libraries": {
"MyTestApp/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"MyLib/1.1.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xMsaoIYNg35NiUfadzEFGutqOjxomE4qGWBu/wte8pbaHUuZN10OGdtxwb55/BHPdhlP+8JxYutBU2BDTeAaaQ==",
"path": "MyLib/1.1.3",
"hashPath": "MyLib.1.1.3.nupkg.sha512"
}
}
}
Wie kann ich das Problem lösen, abgesehen davon dass ich die myNative.exe umbenenne?
Vielen Dank,
Xan