HetCreep
f568f0e7b5
Fix misleading error label for Finished handlers ( #1329 )
...
BaseChainloader.Execute invoked the Finished event inside the same
try/catch that reports plugin-loading failures, so an exception thrown
by a Finished event listener was logged as "Error occurred loading
plugins:" even though it was unrelated to plugin loading.
Move Finished?.Invoke() into its own try/catch with an accurate
message. Control flow is otherwise unchanged: Finished still runs only
after LoadPlugins succeeds, a throwing listener is still caught, and
"Chainloader startup complete" is still logged afterwards.
Fixes #842
2026-06-08 14:49:39 +02:00
HetCreep
77d438cf69
Clarify BepInDependency version errors and docs ( #1330 )
...
The chainloader collected both not-installed dependencies and
installed-but-incompatible-version dependencies into one list and
reported them all as "missing dependencies", which is confusing when
the plugin is present but on a version outside the requested range.
Separate the two cases and log distinct, actionable messages: one for
dependencies that are not installed, and one for dependencies present
with an incompatible version (showing the found version and the
required range).
Also expand the BepInDependency(string, string) xmldoc: the version is
a SemVer range, link the range syntax, and warn about the BepInEx 5 ->
6 behaviour change (a bare version was a minimum, now it is exact).
Fixes #779
2026-06-08 14:48:55 +02:00
aldelaro5
544f909a80
Revert "Merge pull request #960 from aldelaro5/metaplugins" ( #995 )
...
This reverts commit 2a61b61497 , reversing
changes made to 6b38cee127 .
2024-09-24 20:25:56 +02:00
aldelaro5
2474dce1a1
Use PascalCase for the cache versioning const
2024-09-04 11:58:52 -04:00
aldelaro5
ede28de4a5
Make the cache version a const
2024-09-04 11:54:53 -04:00
aldelaro5
ae4d7bb34c
Actually write the cache version in SaveAssemblyCache
2024-09-04 11:46:18 -04:00
aldelaro5
d389ed8067
Add versioning to CachedAssembly
2024-09-03 21:09:52 -04:00
aldelaro5
be1beb5e13
Address code review round 5
2024-09-03 20:34:17 -04:00
aldelaro5
e0a81dfdbd
Rename Location to prevent compilation with it
2024-09-02 07:16:13 -04:00
aldelaro5
24cf635e65
Ensure providers and plugins / patchers folders are created if they don't exist
2024-09-01 09:29:35 -04:00
aldelaro5
4597be006e
Remove files caching from CachedPluginLoadContext, make it forward the call instead
2024-08-31 05:54:41 -04:00
aldelaro5
40643ffdef
Offload the load context caching to bepinex
2024-08-29 21:12:07 -04:00
aldelaro5
e2396d202b
address code review round 3
2024-08-29 12:50:46 -04:00
aldelaro5
b729aee545
Address code review round 3 (first part)
2024-08-28 01:14:00 -04:00
aldelaro5
bfc539bd74
Address code review round 2
2024-08-25 12:03:33 -04:00
aldelaro5
b688bfa978
Add a Source property to PluginInfo
...
Also abstract an interface among the base plugins classes to make this easier
2024-08-23 23:06:54 -04:00
aldelaro5
d8dd404e52
Address code review
2024-08-23 15:40:22 -04:00
aldelaro5
4d47c3cd39
Address code review
2024-08-20 15:13:10 -04:00
aldelaro5
952c74f6fe
Implement Patcher and plugin providers
2024-08-19 19:57:52 -04:00
ghorsington
b9fe507672
Use Assembly.LoadFrom for loading assemblies
...
Assembly.LoadFile is meant for a special case that is not relevant to BepInEx
2022-09-11 18:41:22 +03:00
js6pak
0d2cbe61bf
Add chainloader events
2022-08-24 21:55:09 +02:00
ghorsington
e4c9ae4115
Expose LoadPlugins(string[]) for 3rd party tools
...
This is a temporary solution until metaplugins are available
2022-06-05 19:03:08 +03:00
ghorsington
4bb48c502e
Reformat project; apply code style
2021-12-21 18:55:05 +02:00
ghorsington
81141fcfc4
Add LogInterpolatedStringHandler overload for default logger
2021-12-21 18:49:07 +02:00
ghorsington
325e0df14b
Use C# 10, reformat project
2021-12-21 16:09:39 +02:00
ghorsington
8ff2c1088b
Clean up console listener logic
2021-11-02 20:16:50 +02:00
ghorsington
639dbb475c
Bump NuGet packages
2021-09-25 19:22:12 +03:00
Geoffrey Horsington
36e24d6593
Merge pull request #284 from js6pak/fix-stacktraces
...
Make stacktraces Error instead of Debug
2021-07-28 09:46:26 +03:00
js6pak
0461ab4f39
Make stacktraces Error instead of Debug
2021-07-27 16:33:31 +02:00
ghorsington
3e71319505
Add PatcherPluginPath to TypeLoader resolver
2021-07-16 17:37:09 +03:00
ghorsington
cd4c90e7f2
Fix #240
2021-05-02 10:54:51 +03:00
ghorsington
78e0538755
Run module constructor before plugin is loaded; closes #228
2021-04-25 20:15:07 +03:00
ghorsington
1816981b72
Cache hashes of plugins instead of edit dates
...
This should solve issues for platforms where no precise edit date is saved. MD5 is quick enough for most modern PC setups.
2021-04-11 15:19:27 +03:00
ghorsington
c874d4f6b3
Apply style
2021-04-11 14:10:00 +03:00
ghorsington
ff4e1b7c7f
Reformat code after last commits
2021-01-26 20:47:02 +02:00
Bepis
f60f6cbb62
Fix a significant amount of assembly resolution issues
2021-01-25 02:34:00 +11:00
ghorsington
ecb61f60d8
Apply code style
2021-01-23 22:04:11 +02:00
ghorsington
88e3dfb7e7
Update some code to use C#9 features
2021-01-05 22:54:45 +02:00
ghorsington
5020ed88f8
Port Paths.ManagedPath from BepInEx 5
2021-01-01 19:49:06 +02:00
Geoffrey Horsington
821ad5fe07
Merge pull request #152 from js6pak/semver
...
Add semantic versioning
2020-11-30 15:24:09 +02:00
js6pak
cc55d5bdb9
Change semver library, again
2020-11-29 21:41:29 +01:00
js6pak
f6f8a44254
Revert formatting change
2020-11-16 14:47:23 +01:00
js6pak
29188d1b97
Add semver stuff
2020-11-16 10:14:28 +01:00
Bepis
10b5fa2312
Change name and description of the ConcurrentFileLimit config entry
2020-11-16 18:41:04 +11:00
js6pak
619fa2db74
Add log file limit to config
2020-11-16 08:29:40 +01:00
Bepis
0d8da1b30f
Implement a config option for instantly flushing logs to disk
2020-11-08 22:11:17 +11:00
Bepis
f9ec1e9ce4
Merge branch 'framework-il2cpp-rebase' into framework-il2cpp
2020-11-08 02:34:23 +11:00
Bepis
2f12c79e71
Log plurals
...
Rebase of 0f4ac05
2020-11-06 13:23:55 +11:00
Bepis
8a3236e439
Don't log stack trace in FindPluginTypes when loading native DLL
...
Rebase of 7f12024
2020-11-06 11:59:08 +11:00
Bepis
53fdd99cbe
TypeLoader: don't write error when a native DLL is found
...
Rebase of 4d7e5ca
2020-11-06 11:54:41 +11:00