Closed awaescher closed 5 years ago
This is so frustrating. Everything I try ends up in:
The rid fallback graph is: {
}
-- Listing probe configurations...
probe_config_t: probe=[] deps-dir-probe=[1]
Adding tpa entry: D:\Develop\GitHub\RepoZ\_output\win\Assemblies\grr.dll, AssemblyVersion: , FileVersion:
Processing TPA for deps entry [AsyncIO, 0.1.26, lib/netstandard1.3/AsyncIO.dll]
Considering entry [AsyncIO/0.1.26/lib/netstandard1.3/AsyncIO.dll], probe dir [], probe fx level:0, entry fx level:0
Local path query did not exist D:\Develop\GitHub\RepoZ\_output\win\Assemblies\AsyncIO.dll
Skipping... not found in deps dir 'D:\Develop\GitHub\RepoZ\_output\win\Assemblies\'
Skipping... not found in probe dir ''
Error:
An assembly specified in the application dependencies manifest (grr.deps.json) was not found:
package: 'AsyncIO', version: '0.1.26'
path: 'lib/netstandard1.3/AsyncIO.dll'
Additional probing paths are ignored no matter if I pass it as argument grr.exe --additionalProbingPath lib
or in the runtimeconfig:
{
"runtimeOptions": { "additionalProbingPaths": [ "lib" ] }
}
It seems I am not the only one:
Holy freaking stuff this is the most awesome fancyness I ever encountered. It works with an absolute path (only) like grr.exe --additionalProbingPath C:\BlaBla\RepoZ\_output\win\Assemblies\lib\..\..\..
.
So I have to go three directories up from that absolute one even if I removed all the paths from the deps.json;
"AsyncIO": { <- was "AsyncIO/0.1.26"
"dependencies": {
"NETStandard.Library": "2.0.3",
"System.Net.NameResolution": "4.0.0"
},
"runtime": {
"AsyncIO.dll": { <- was "lib/netstandard1.3/AsyncIO.dll"
"assemblyVersion": "0.1.25.0",
"fileVersion": "0.1.25.0"
}
}
... and also closer at the end ...
"AsyncIO/0.1.26": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mV6fvJg4K...==",
"path": "/", <- was "path": "asyncio/0.1.26"
"hashPath": "asyncio.0.1.26.nupkg.sha512"
},
WTAF?!
Unfortunately, this seems to be complex to be used right now. I don't want to modify deps files on the users' machines during the setup. Even the file customisations during the build process seems just wrong to me.
Thanks izaruba for your help, that was way more than I could have expected but it seems not to be worth the hack.
By converting grr and grrui to netcore apps, there are plenty of common libraries in the application root folder. I don't want all of them in a folder which is also added to the Windows PATH. Who knows how Windows will react with other tools having the same dependencies.
Put as much dlls to a subfolder like "/lib" and helper executables to "/tools" to clean the root directory.