Siegfried Pammer
35ad7f3074
Update build tools used by ILSpy to use .NET 5.0 instead of .NET Core 3.1
4 years ago
Daniel Grunwald
715968e02a
Fix potential NullReferenceException in UniversalAssemblyResolver
4 years ago
Daniel Grunwald
7f36cc3e50
#nullable enable for UniversalAssemblyResolver
4 years ago
Siegfried Pammer
0ae95333e5
Fix bug in DotNetCorePathFinder on Unix systems: realpath always returned garbage.
4 years ago
Siegfried Pammer
f6e39005c6
Fix documentation warning.
4 years ago
Siegfried Pammer
2ed52b9634
#2362 : Provide more information on assembly resolve errors
4 years ago
Siegfried Pammer
b6da9b23b1
Fix thread-safety issue in UniversalAssemblyResolver
4 years ago
Siegfried Pammer
5734da4294
Fix #2314 : ILSpy incorrectly resolves a runtime dependency when dll is present in both WindowsDesktop.App and NETCore.App
4 years ago
Daniel Grunwald
a01c63dc62
Fix nullability warning: avoid NullReferenceException in the theoretical case where an unknown PrimitiveTypeCode is passed.
4 years ago
Daniel Grunwald
281586de1f
`#enable nullable` for a couple of files.
...
Includes some fixes for potential NullReferenceExceptions.
4 years ago
Daniel Grunwald
d70bfe80d5
Add ResolveAsync() method to IAssemblyResolver interface.
...
DecompilerTypeSystem uses this to resolve/load multiple assemblies in parallel.
Unfortunately this doesn't gain us any performance yet in ILSpy because there we have a global assembly-loader-lock :(
4 years ago
Daniel Grunwald
899714d603
Remove unnecessary mutable state from UniversalAssemblyResolver.
4 years ago
Siegfried Pammer
e21f54b6cb
Remove spaces from TargetFrameworkAttribute value
4 years ago
Siegfried Pammer
115ca210c7
Fix #2275 : Exception when assembly does not contain proper MetadataVersion.
4 years ago
Siegfried Pammer
cf5a38f927
Fix #2255 : Prefer ".dll" suffix over ".exe" in assembly reference resolution.
4 years ago
Siegfried Pammer
fb8603e099
According to the ilasm source code "codelabel" is a keyword as well
5 years ago
Siegfried Pammer
74203e7fb2
#2228 : Add additional documentation to clear up some misunderstanding about UniversalAssemblyResolver ctor parameters.
5 years ago
Siegfried Pammer
ea699b0da0
Fix formatting.
5 years ago
Bernd Baumanns
dd98de858d
ILSpy should not crash if fullName contains no "/" - no version info
5 years ago
Daniel Grunwald
0de6238d65
Support resolving assembly references within a bundle.
5 years ago
Siegfried Pammer
f0012cbc1a
#2198 : Make ILSpy more resilient in case of obfuscated assemblies.
5 years ago
Daniel Grunwald
2d0df349d8
Refactor resource loading.
5 years ago
Daniel Grunwald
f74d3c40a9
Add NuGet packages (and other files) to TreeView
5 years ago
文煌
d612008c9f
write OutputType for asp.net library
5 years ago
文煌
e8e0f89f6d
don't write HintPath for .NET Core shared assembly
5 years ago
Daniel Grunwald
9b27ced6af
Avoid reference on ICSharpCode.Decompiler in VS AddIn.
...
This way we don't need to load SRM 5 within the VS process.
5 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
5 years ago
Siegfried Pammer
1c563a62a9
Fix #2090 : ignore mscorlib references without public key token, when trying to resolve mscorlib. This will automatically fallback to .NET 4.0's mscorlib.dll.
5 years ago
Daniel Grunwald
8061634e67
#1203 , #2092 : New logic for resolving assembly references within the type system.
...
We now avoid the old `IModuleReference` interface which required allocating for every type being resolved.
Instead `MetadataModule.ResolveModule` now combines decoding+resolving assembly references into a single step.
This allows the type system to maintain a cache indexed by row number.
This also changes the behavior of resolving references within a compilation: We now prefer an exact match (name + version + publickeytoken) first; and fall back to a name-only match only if no exact match exists.
This somewhat improves the decompilation of assemblies created by using ilmerge to combine assemblies with different target frameworks.
5 years ago
Daniel Grunwald
40e2776f02
#2089 : Handle invalid attribute/reference metadata in `DetectTargetFrameworkId`
5 years ago
Siegfried Pammer
4b865c27e4
Fix #2076 : VS AddIn opens reference assembly.
5 years ago
Siegfried Pammer
4f8c588c7b
Fix #2068 : ILSpy can't find referenced library even though it's open
5 years ago
Daniel Grunwald
bd059dfb59
Fix #2075 : IndexOutOfRange exception in PEFile.GetRuntime()
5 years ago
Siegfried Pammer
4f6d4a0954
Fix #2037 : Try to detect framework type when TargetFrameworkAttribute is missing
5 years ago
dymanoid
b492a20442
Move assembly resolution logic to better place
...
WholeProjectDecompiler shall not care about checking whether an assembly
is in GAC.
5 years ago
Siegfried Pammer
5f27fd9744
Fix DotNetCorePathFinder not finding assemblies in parent assembly base path.
5 years ago
Siegfried Pammer
40687ea8ad
#1498 : Remove Fusion API usage: Use standard file enumeration instead. This should enable us to use the GAC even with restricted access, as only the LIST permission is required.
5 years ago
Siegfried Pammer
7571b59abf
Improve DotNetCorePathFinderExtensions.DetectTargetFrameworkId to properly detect framework version of GAC assemblies.
5 years ago
Siegfried Pammer
0dfcafdfe8
Add preconfigured assembly list selection and rename command to ManageAssemblyListsDialog
5 years ago
Siegfried Pammer
60e9c204cc
Fix #1940 : Make sure that we use the correct .NET Core version, when there are multiple frameworks loaded in the current assembly list.
5 years ago
Siegfried Pammer
54a742f3f5
Metadata Explorer: Display blob contents of custom debug information in tooltip.
5 years ago
Siegfried Pammer
2efca22fae
Add Debug Metadata Explorer
5 years ago
Siegfried Pammer
6ac56bbc74
Refactor IAssemblyReference and IAssemblyResolver implementations in LoadedAssembly.
6 years ago
Andrew Au
93239e2e61
Implement FindAssembly
6 years ago
Siegfried Pammer
00b855851c
Fix typo.
6 years ago
Siegfried Pammer
805b83f43c
Fix DotNetCorePathFinder to properly support netstandard2.1
6 years ago
Siegfried Pammer
867d3d5755
Fix crash reported in #1820 : Change Dictionary<string, DotNetCorePackageInfo> to DotNetCorePackageInfo array, because key is no longer used.
6 years ago
Siegfried Pammer
e211b01595
Fix CA1507:UseNameofInPlaceOfString, adjust formatting of some older source files copied from NRefactory.
6 years ago
Siegfried Pammer
84ca705250
Fix #1750 : DotNetCorePathFinder should not crash if a package is missing
...
Fix #1757 : Error decompiling .NET Core 3.0 assembly in Linux
6 years ago
Siegfried Pammer
981401a206
Fix #1750 : DotNetCorePathFinder should not crash if a package is missing
...
Fix #1757 : Error decompiling .NET Core 3.0 assembly in Linux
6 years ago