Closed ripleymj closed 6 years ago
Thanks for the linux notes. Regarding the patch to restrict the assemblies, I think it's close. However you'll see here that Pivet will try to load .dll files inside a "plugins" folder. The intent here is that Pivet can load 3rd party libraries and allow for other people to create their own implementations of IDataProcessor. So restricting only to the Pivet assembly would prevent their processors from being discovered.
Instead Pivet should keep a list of those loaded assemblies (along with itself) and restrict the search to assemblies in that list.
I'll try to catch you on slack tomorrow to discuss further. I hit some strange error when it walks through System.Runtime.Remoting, and I gave up trying to filter that out, and went this way.
Merged, thanks for the contribution :)
I backed out the change, ran it, added a bit of debugging, and reran. Here's what I see on RHEL: https://gist.github.com/ripleymj/d5f6003d65b0dc12f28d087073c00195
I tried running this on Linux, and hit an issue on the patched line in ProfileRunner. For some reason, it seems to try to load something in System.Runtime.Remoting and throws an exception. Adding the extra Where() prevents it from wandering outside the Pivet assembly, which I think is inline with your intentions.
I'd also never tried DotNet on Linux, so a few markdown notes are included.