Closed Narumanu closed 2 years ago
Hi,
Thank you for your extensive description. I will try to reproduce this behaviour locally first and get back to you.
Cheers, M
I'm unable to reproduce your issue.
I've updated the Example.Console and Plugin.Sql code to .NET5 and have it working without major changes, check out this PR: https://github.com/merken/Prise/pull/48
I'm not sure what kind of database you're running, if you need a running instance (using Docker) you can check out this article: https://medium.com/agilix/docker-express-running-a-local-sql-server-express-204890cff699
You can find a SQL script to create the example SQL database, table and data in the PR.
And you must add the correct user secret to your Host app (Example.Console) : dotnet user-secrets set "SQL:ConnectionString" "Server=localhost,1433;Initial Catalog=TestDb;Integrated Security=False;User Id=sa;Password=MyPass@word;
About the runtimes folder... This folder contains platform specific resources, some Nuget dependencies require this to be included, because they need to interop with the operating system. SQL dependencies require these libraries, you will find out that the Plugin.SQL example does so, too.
Could you please try running the example in NET5? Please share some info about the environment you're developing on (OS, Platform, SQL Server version, ...) ?
Kr, M
Hello again, thank you for your quick answers ! As you suggested, I've done some more testing with your examples (thank you for thoses) and I've managed to make it work.
I'm not sure why, but it only works when "includeProjectNameInPublishDir" in my prise.plugin.json is set to true. I've thought by putting all the dlls into the same folder, I could avoid some redundancy but maybe I missed something about that in the tutorial.
Is it a normal behavior ? If it's not, here's my environnement :
How I was scanning for my plugin :
Thank you in advance !
Hello ! I'm a student and for my internship, I've been trying to develop a 100% modular architecture and that's how I found your framework. I've been trying to activate a SQL plugin using Entity, but the plugin is never found when the publish folder is scanned with the PluginLoader. Here's the csproj of my plugin : It's pretty much identical to your SqlPlugin in your samples.
To see if the problem came from my Prise configuration, I tried to implement the same contract with a test project without the Entity dependencies and it worked ! Since the only difference I've noticed in my publish folder was the lack of a folder called "runtimes", I re-published my normal sql plugin and deleted the folder. Now the plugin is scanned and found, but it can't be activated. Here's the stacktrace just in case :
I suppose this was to be expected, but now I'm a bit stuck and I don't understand how the folder can stop the loader from finding my plugin...
Also, all the projects I've been talking about have .NET 5.0 as their TargetFramework, except for my Contract which is aiming for netstandard2.0.
Do you have any idea how I could solve this ? Thanks in advance and sorry if I wasn't clear enough !