Skip to content

Request support disassembly of c # 11.0/vs2022.4 and 12.0/vs2022.8 #385

@wrtbug

Description

@wrtbug

Problem Description

I have a high version of c # dll that cannot be correctly disassembled into code using dnspyEX6.5.1。
This DLL file may have been compiled by vs2022.17,
and Modifying code using dnspyex6.5.1 may result in errors
I can only decompile and read with ILSpy 9.0.0.7833 at the moment, but I cannot modify the code
The following is an incorrect disassembly
private int GenerateTraits(bool is_starter_minion, List<ChoreGroup> disabled_chore_groups, string guaranteedAptitudeID = null, string guaranteedTraitID = null, bool isDebugMinion = false) { MinionStartingStats.<>c__DisplayClass17_0 CS$<>8__locals1 = new MinionStartingStats.<>c__DisplayClass17_0(); CS$<>8__locals1.<>4__this = this; CS$<>8__locals1.is_starter_minion = is_starter_minion; CS$<>8__locals1.isDebugMinion = isDebugMinion; CS$<>8__locals1.guaranteedAptitudeID = guaranteedAptitudeID; CS$<>8__locals1.disabled_chore_groups = disabled_chore_groups; CS$<>8__locals1.statDelta = 0; CS$<>8__locals1.selectedTraits = new List<string>(); CS$<>8__locals1.randSeed = new KRandom(); Trait trait = Db.Get().traits.Get(this.personality.stresstrait); this.stressTrait = trait; Trait trait2 = Db.Get().traits.Get(this.personality.joyTrait); this.joyTrait = trait2; this.stickerType = this.personality.stickerType; Trait trait3 = Db.Get().traits.TryGet(this.personality.congenitaltrait); if (trait3 == null || trait3.Name == "None") { this.congenitaltrait = null; } else { this.congenitaltrait = trait3; } Func<List<DUPLICANTSTATS.TraitVal>, bool, bool> func = delegate(List<DUPLICANTSTATS.TraitVal> traitPossibilities, bool positiveTrait) { if (CS$<>8__locals1.<>4__this.Traits.Count > DUPLICANTSTATS.MAX_TRAITS) { return false; }

Here is the correct disassembly
private int GenerateTraits(bool is_starter_minion, List<ChoreGroup> disabled_chore_groups, string guaranteedAptitudeID = null, string guaranteedTraitID = null, bool isDebugMinion = false) { int statDelta = 0; List<string> selectedTraits = new List<string>(); KRandom randSeed = new KRandom(); Trait trait2 = Db.Get().traits.Get(personality.stresstrait); stressTrait = trait2; Trait trait3 = Db.Get().traits.Get(personality.joyTrait); joyTrait = trait3; stickerType = personality.stickerType; Trait trait4 = Db.Get().traits.TryGet(personality.congenitaltrait); if (trait4 == null || trait4.Name == "None") { congenitaltrait = null; } else { congenitaltrait = trait4; } Func<List<DUPLICANTSTATS.TraitVal>, bool, bool> func = delegate(List<DUPLICANTSTATS.TraitVal> traitPossibilities, bool positiveTrait) { if (Traits.Count > DUPLICANTSTATS.MAX_TRAITS) { return false; }

so can update it
thanks

Proposal

I am an amateur programmer and cannot provide advice,
support disassembly of c # 11.0/vs2022.4 and 12.0/vs2022.8

Alternatives

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions