Comments (5)
Unfortunately first delegate (public delegate TResult Func<T1, TResult>(T1 arg1);
) also breaks the assembly, but in a different way.
When attempting to obfuscate assembly you get a index out of range. Commenting out this delegate solves the problem.
In my opinion tempering with delegates should be avoided.
from cneptune.
Hi, sorry it is under development and currently unstable.
Thank you for sharing this issue, It just means that I have to ignore some kind of class like delegate.
Original code is just moved into nested class named Neptune and is hidden for dnSpy/ILSpy by a side effect. Indeed, methods ared marked with DebuggerHiddenAttribute and GeneratedCodeAttribute.
I am working on a capacity to redirect call to DynamicMethod to grant skipVisibilityCheck without too much overhead and keeping generic support (even if DynamicMethod cannot be generic). This is why code can change a lot before first release that coming very soon (maybe in few hours if I can save time to work on).
Thank to you, I added a filter to skip delegates while tuning classes.
Next step will be to publish associated nuget package and adapt NConcern as first consumer of CNeptune.
from cneptune.
Unfortunately latest version also crashes at similar place, namely Program.cs line 355 with the same exception as before.
from cneptune.
Maybe checking if type is inherited from System.Delegate and filtering it out would solve this issue
from cneptune.
Hi,
I just tested it and it seems that delegate by-pass failed, so I changed it from
type.BaseType == type.Module.Import(typeof(MulticastDelegate));
to
(type.BaseType != null && type.BaseType.Resolve() == type.Module.Import(typeof(MulticastDelegate)).Resolve());
delegate by-pass correction
nuget package will be updated asap (1.0.4) to include this change.
from cneptune.
Related Issues (18)
- Problem with BadImageFormatException when instantiating generic class referencing ObservableCollection HOT 7
- Class members are not seen in debugger with CNeptune referenced HOT 1
- breaking System.Linq.Enumarable
- CNeptune silently breaks my application
- 3rd party assembly injection error HOT 3
- Error on build due to not default package folder HOT 2
- CNeptune masks exceptions
- .net standard support
- Analytical anomaly
- Roadmap
- Feedback
- Stub for generic method seems to do nothing
- Request: support for OutputType=WinExe HOT 2
- Feature request proper handling of abstract methods HOT 2
- bug: debuginfo not handled correctly HOT 6
- Exception after updating to CNeptune 1.1.0 HOT 5
- Error in first build. HOT 9
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 cneptune.