mirror of https://github.com/icsharpcode/ILSpy.git
Tree:
49ca126fb8
christophwille/closedhierarchies
christophwille/membench
compound-assignment-operators
fix/1982-params-attribute-args
fix/2040-invalid-xml-characters
fix/2093-navigateto-reference-assembly
fix/2362-xalz-references
fix/2372-address-taken-by
fix/3282-indexer-optional-arguments
fix/3568-record-member-order
fix/4059-deconstruct-out-slots
fix/lambda-parameter-syntax
fix/scroll-children-on-expand
gh-pages
ldmembertoken
master
natural-type-lambdas-methods
null-coalescing-assignment
release/10.1
release/6.2
release/7.1
release/7.2
release/8.1
substring-optimizations
tests/829-async-method-builder-override
tests/829-collection-expressions
tests/829-compound-assignment-operators
tests/829-coverage-audit
tests/829-expression-tree-named-optional-args
tests/829-expression-variables-in-initializers
tests/829-extended-property-patterns
tests/829-extension-members
tests/829-extension-operators
tests/829-file-local-types
tests/829-improved-definite-assignment
tests/829-improved-overload-candidates
tests/829-inline-arrays
tests/829-interpolated-string-improvements
tests/829-lambda-param-modifiers
tests/829-list-patterns
tests/829-lock-object
tests/829-mixed-deconstruction
tests/829-null-coalescing-assignment
tests/829-null-conditional-assignment
tests/829-object-initializer-indexer
tests/829-overload-resolution-priority
tests/829-params-collections
tests/829-pattern-matching-improvements
tests/829-primary-constructors
tests/829-ref-unsafe-in-iterators-async
tests/829-sealed-record-tostring
tests/829-target-typed-conditional
tests/829-tuple-comparison
win-a11y-textsize
1.0-Beta
1.0-M1
1.0-M2
1.0-M3
1.0.0
2.0.0
2.1
2.2
2.3
2.3.1
3.0-Preview1
3.0-Preview2
3.0.2
v10.0
v10.0-preview1
v10.0-preview2
v10.0-preview3
v10.0.1
v10.1
v10.1.1
v11.0
v11.0-preview1
v11.0-rc
v2.3.2
v2.4
v3.0
v3.0-beta1
v3.0-beta2
v3.0-beta2a
v3.0-beta3
v3.0-beta4
v3.0.1
v3.1-beta1
v3.1-final
v3.1-rc
v3.2-beta
v3.2-rc
v3.2.0
v4.0
v4.0-alpha1
v4.0-beta1
v4.0-beta2
v4.0-beta3
v4.0-rc1
v4.0-rc2
v4.0.1
v5.0
v5.0-preview1
v5.0-preview2
v5.0-preview3
v5.0-preview4
v5.0-rc1
v5.0.1
v5.0.2
v6.0
v6.0-preview1
v6.0-preview2
v6.0-preview3
v6.0-preview4
v6.0-rc1
v6.1
v6.2
v6.2-preview1
v6.2-preview2
v6.2.1
v7.0
v7.0-preview1
v7.0-preview2
v7.0-preview3
v7.0-rc1
v7.0-rc2
v7.1
v7.2
v7.2-preview1
v7.2-preview2
v7.2-preview3
v7.2-preview4
v7.2-rc
v7.2.1
v8.0
v8.0-preview1
v8.0-preview2
v8.0-preview3
v8.0-preview4
v8.0-rc1
v8.1
v8.1.1
v8.2
v9.0
v9.0-preview1
v9.0-preview2
v9.0-preview3
v9.0-rc
v9.1
${ noResults }
2 Commits (49ca126fb86729634b20412ff5d07ab294e21221)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
2b21f508e0 |
Fix #2362: resolve Xamarin compressed references in ilspycmd
Since the input file goes through ILSpyX's FileLoaderRegistry, an XALZ module passed directly to ilspycmd already decompresses on the fly. The crash in the issue is in reference resolution: a Xamarin app folder holds every assembly compressed, and UniversalAssemblyResolver opened the referenced sibling as a plain PE image. In the CLI that failure was swallowed, so the reference resolved to null and the output degraded (enum members printed as casts of raw values, and so on). The UI does not have this problem because its resolver only asks the universal resolver for the file name and then loads it through the loaders. Rather than re-implementing the resolver in the CLI, the universal resolver gains one overridable step - turning a found file into a module - and the CLI overrides it to run the same loader loop the input file uses, falling back to the plain PE path for anything no loader claims. Assisted-by: Claude:claude-fable-5-1:Claude Code |
2 weeks ago |
|
|
71ac2b9ca9 |
Fix #3154: accept single-file bundles as ilspycmd input
Every mode loaded the input file with its own `new PEFile(fileName)` call, so a bundle - which the UI opens fine, because LoadedAssembly goes through the file loader registry - failed identically in all of them. The five call sites now share one load helper that runs the same registry, which also makes archives work and keeps one detection point for both front ends. Which assembly inside a bundle is meant is not something to guess, so a package without --bundle-entry lists its managed entries and exits non-zero. The entry point is only annotated in that listing: the manifest has no marker for it, so it is derived the way the host does it, from the runtime-config entry's name, and stays unannotated where that does not resolve. Assisted-by: Claude:claude-opus-5:Claude Code |
2 weeks ago |