Comments (11)
Does this happen with the non-thin version too? If so, you are not supplying the correct dependencies.
from harmony.
For reference, I am as I type, using Harmony 2.3.3 on my MacBook Air M2 with RimWorld just fine.
from harmony.
The non-thin version doesn't work for us (exception when debugging from Rider on Windows). #585
What are the dependencies? The docs mentions that one may need to add them but what exactly to add?
from harmony.
If you use an IDE (like Visual Studio, don’t know about Rider, never used it) it will automatically download the dependencies. The nuget package also lists the dependencies as does a decompiler like dnSpy
from harmony.
These are nuget package dependencies:
<dependencies>
<group targetFramework=".NETFramework3.5">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETFramework4.5.2">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETFramework4.7.2">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETFramework4.8">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETCoreApp3.0">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETCoreApp3.1">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
</group>
<group targetFramework="net5.0">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
<dependency id="System.Text.Json" version="5.0.2" exclude="Build,Analyzers" />
</group>
<group targetFramework="net6.0">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
<dependency id="System.Text.Json" version="6.0.9" exclude="Build,Analyzers" />
</group>
<group targetFramework="net7.0">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
<dependency id="System.Text.Json" version="7.0.4" exclude="Build,Analyzers" />
</group>
<group targetFramework="net8.0">
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
<dependency id="System.Text.Json" version="8.0.1" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard2.0">
<dependency id="Lib.Harmony.Ref" version="2.3.3" exclude="Build,Analyzers" />
<dependency id="MonoMod.Core" version="1.1.0" exclude="Build,Analyzers" />
</group>
</dependencies>
The assembly explorer shows more:
So for .NET 7 I need to manually add the nuget packages System.Text.Json
and MonoMod.Core
, correct?
from harmony.
We've found the cause of this exception. MonoMod doesn't support ARM architecture on MacOS. Is there something we can do to make it work there?
from harmony.
Contribute to the complex task of patching low level architecture in the MonoMod repository? Or simply use MacCatalyst for now?
from harmony.
Excuse me, what do you mean by using MacCatalyst? I'm not a Mac user so I'm not familiar with MacCatalyst, how it can help?
Do you know any Harmony-like library that supports MacOS ARM?
from harmony.
You missed my comment earlier: #607 (comment)
from harmony.
Perhaps RimWorld works because Unity uses its own fork of dotnet runtime based on Mono and it may also use something like rosetta emulation. I haven't found a way to do it with dotnet.
from harmony.
I close this issue as the real work has to be done in MonoMod (and is picking up a bit lately)
from harmony.
Related Issues (20)
- A crash after hook:The object's current state invalidates the operation HOT 2
- Harmony fails to patch method and throws exception in exported Godot build HOT 13
- NuGet Package reference assembly conflict HOT 8
- ModuleInitializerAttribute HOT 1
- RtDynamicMethod get MetadataToken throws InvalidOperationException HOT 2
- Patch on .net 7&8 throw TypeLoadException while debugging HOT 18
- Harmony 3.0: Utility Epic
- Investigate Testing the NuGet Package Directly HOT 3
- Add a Release Pipeline
- Hook exception: System.Exception: Cannot get result from void method System.Void HOT 2
- How to patch method of base class? HOT 1
- When applying a patch fails, the replacement's IL is not printed to the debug log HOT 2
- System.Exception: Parameter "xx" not found in method HOT 10
- SymbolExtensions does not resolve overriden method HOT 3
- can lib work in arm64? HOT 2
- Companion project promotion: Harmony Tools HOT 3
- Harmony.Patch() is a bit slow. HOT 2
- 'CORINFO_METHOD_INFO' from assembly 'System.Text.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. HOT 4
- I try to hook DateTime.UtcNow but it throw exception HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from harmony.