Commit Graph

25 Commits

Author SHA1 Message Date
Nate McMaster
5b9df621ca
Delete deprecated dependencies and drop support for everything < .NET 6 2022-06-04 21:09:40 -07:00
dependabot[bot]
452f8d306e
build(deps): bump System.Data.SQLite from 1.0.113.7 to 1.0.114.3 (#212) 2021-06-04 03:08:42 +00:00
dependabot[bot]
1f1f85ca6b build(deps): bump System.Drawing.Common from 5.0.0 to 5.0.1
Bumps [System.Drawing.Common](https://github.com/dotnet/runtime) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v5.0.0...v5.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-04 07:13:21 +00:00
dependabot[bot]
6d2ce48d56 Bump System.Drawing.Common from 4.5.1 to 5.0.0
Bumps [System.Drawing.Common](https://github.com/dotnet/runtime) from 4.5.1 to 5.0.0.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/commits/v5.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-31 00:57:26 +00:00
Nate McMaster
cc044ea000
feat(deps): upgrade package to .NET Core 3.1 and 2.1 (#182) 2021-01-30 16:41:29 -08:00
Nate McMaster
65144b1959
cleanup: upgrade dependencies in samples and tests 2021-01-30 16:16:51 -08:00
Nate McMaster
bef2ef20cd
cleanup: run code formatter and cleanup 2021-01-30 15:41:10 -08:00
Nate McMaster
7d673f3378
cleanup: upgrade test and samples to supported .NET Core versions 2021-01-30 15:41:09 -08:00
KatoStoelen
0f397dd5f4
Don't create shadow copy that already exists (#147)
In some scenarios the same unmanaged DLL is resolved multiple times
(e.g. when using System.Data.SQLite.SQLiteConnection). The previous
implementation would then try to create new shadow copies of the same
DLL during subsequent resolves. This failed during copy of the DLL since
the parameter to enable overwriting was not set to true.

This fix checks if the shadow copy already exists and skips the copy
step if it does. The path to the existing shadow copy is returned
instead.

Fixes #146
2020-08-27 22:50:36 -07:00
Thomas Freudenberg
4effc382b9
Add debouncing to FileSystemWatcher events (#129)
* debounces FileSystemWatcher events
* makes debounce interval configurable
* ignores SQL timeout in unit tests (the purpose is to load the native libraries, not the actual connection to the database)
2020-03-09 22:50:56 -07:00
Nate McMaster
370d3558e6
infra: update dependencies (#116) 2020-01-01 22:25:46 -08:00
Sewer
a634d3b21e feature: support non-default AssemblyLoadContext(s) (#111)
Closes #110
2019-12-29 10:41:11 -08:00
Nate McMaster
c513f0ba6c
fix: ensure transitive dependencies of shared types unify
Recursively load and find all dependencies of default assemblies. This sacrifices some performance for determinism in how transitive dependencies will be shared between host and plugin.

Fixes #41
2019-09-04 23:21:47 -07:00
Nate McMaster
0bd41c4b3a
Drop support for configuring plugins via xml file and refactor PluginLoader.Create* APIs
This removes support for configuring the plugin via XML. It's better to do most of the plugin configuration programmatically. Some settings, such as assemblies to share, have to be expressed via code and can't be expressed in XML. There weren't enough use cases for changing the plugin config via file post-publish, so I'm simplifying the library by removing this.
2019-04-24 22:00:18 -07:00
Nate McMaster
ad66725684 Fix #26 - handle P/Invokes which call for the native library file the file full name 2019-01-14 20:34:33 -08:00
Nate McMaster
fad7d2f5a4
Fix #12 - Give base-path the lowest precedence when searching for managed libraries
This fixes assembly loading for System.Drawing.Common. This package was a rare case of a package with both runtime agnostic and runtime-specific versions of the managed library. This means the .NET Core SDK will dump System.Drawing.Common.dll in the plugin base path *as well as* a version in the runtimes/ folder. In this case, corehost actually treats the runtime specific asset with higher priority.

This change updates the ManagedLoadContext to imitate this behavior.
2018-10-20 16:49:07 -07:00
Nate McMaster
ce1b5cc94e
Fix #5 - resolve resource assemblies from packages and the plugin directory 2018-09-25 23:11:19 -07:00
Nate McMaster
1001cdede2 Add tests for runtime-specific managed libraries and reduce substring creation during lookup 2018-08-21 22:32:36 -07:00
Nate McMaster
551ef2919e Filter native symbols when reading .deps.json files 2018-08-21 22:00:45 -07:00
Nate McMaster
471789bc32
Add PluginLoader.CreateFromAssemblyFile and update README and docs 2018-07-23 20:58:51 -07:00
Nate McMaster
4cc6170b74
React to file reorganization 2018-07-22 22:57:30 -07:00
Nate McMaster
4d56565c7a
Reorganize files and prepare to release the prototype as a package
* Rename from Microsoft.Extensions to McMaster.Extensions
* Add additional API to make configuring shared types easier
* Add xmldocs
2018-07-22 22:54:11 -07:00
Nate McMaster
32e1b39b5c
Add sample usage to README 2018-04-04 17:27:30 -07:00
Nate McMaster
e2ebedecc0
Rename API to Microsoft.Extensions.Plugins 2018-04-04 16:44:55 -07:00
Nate McMaster
4fc301238d Add a bunch of test projects and remove Microsoft.Extensions.DependencyModel from the base class library 2018-03-26 23:10:15 -07:00