Compare commits

..

3 Commits
2.1.6 ... 2.1.9

Author SHA1 Message Date
zznty
0c53b2f1d3 add RegisterAuxAssembly for compat with loader wrapper
All checks were successful
Release / Get Version (push) Successful in 8s
Release / Build and Publish Nuget (push) Successful in 1m51s
Release / Build and Publish Package (push) Successful in 13m54s
2024-10-14 18:18:21 +07:00
zznty
b6e88b359f fix assembly rewriter stripping assembly resources
All checks were successful
Release / Get Version (push) Successful in 11s
Release / Build and Publish Nuget (push) Successful in 2m14s
Release / Build and Publish Package (push) Successful in 19m29s
2024-10-14 00:15:05 +07:00
zznty
b60100171d fix assembly rewriter paths on publish
All checks were successful
Release / Get Version (push) Successful in 10s
Release / Build and Publish Nuget (push) Successful in 8m54s
Release / Build and Publish Package (push) Successful in 17m25s
2024-10-13 22:46:22 +07:00
2 changed files with 17 additions and 4 deletions

View File

@@ -19,8 +19,11 @@ internal static class AssemblyRewriter
{ {
_defaultResolver = new(); _defaultResolver = new();
_zipResolver = new(_defaultResolver); _zipResolver = new(_defaultResolver);
_defaultResolver.AddSearchDirectory(Directory.GetCurrentDirectory()); _defaultResolver.AddSearchDirectory(AppContext.BaseDirectory);
_defaultResolver.AddSearchDirectory(Path.Combine(Directory.GetCurrentDirectory(), "DedicatedServer64")); _defaultResolver.AddSearchDirectory(Path.Combine(Directory.GetCurrentDirectory(), "DedicatedServer64"));
#if !DEBUG
_defaultResolver.AddSearchDirectory(Path.Join(AppContext.BaseDirectory, "torch64"));
#endif
} }
public static Assembly ProcessWeavers(this Stream stream, ZipArchive archive) public static Assembly ProcessWeavers(this Stream stream, ZipArchive archive)
@@ -60,17 +63,17 @@ internal static class AssemblyRewriter
private static Assembly ProcessInternal(Stream inputStream, IAssemblyResolver resolver) private static Assembly ProcessInternal(Stream inputStream, IAssemblyResolver resolver)
{ {
using var module = ModuleDefinition.ReadModule(inputStream, new() using var assembly = AssemblyDefinition.ReadAssembly(inputStream, new()
{ {
AssemblyResolver = resolver AssemblyResolver = resolver
}); });
foreach (var fieldDefinition in FindAllToRewrite(module)) foreach (var fieldDefinition in FindAllToRewrite(assembly.MainModule))
{ {
fieldDefinition.IsInitOnly = false; fieldDefinition.IsInitOnly = false;
} }
using var memStream = new MemoryStream(); using var memStream = new MemoryStream();
module.Assembly.Write(memStream); assembly.Write(memStream);
return Assembly.Load(memStream.ToArray()); return Assembly.Load(memStream.ToArray());
} }

View File

@@ -395,5 +395,15 @@ namespace Torch
/// <inheritdoc/> /// <inheritdoc/>
public event TorchGameStateChangedDel GameStateChanged; public event TorchGameStateChangedDel GameStateChanged;
#region Backwards compat
[Obsolete("Dont use that", true)]
internal static void RegisterAuxAssembly(Assembly assembly)
{
TorchLauncher.RegisterAssembly(assembly);
}
#endregion
} }
} }