ds5678
fb180b0010
Add tests
1 month ago
ds5678
db45fc70a2
Fix regression: UseNestedDirectoriesForNamespaces
1 month ago
Siegfried Pammer
53522c45f8
#3401 : fix missing file extension if name contains ':'
3 months ago
Siegfried Pammer
31bbcf41bc
Fix handling of file extensions in project export.
3 months ago
Siegfried Pammer
292c21d68e
#3401 : Treat class name as single name and not as path.
3 months ago
Siegfried Pammer
0096994679
Fix #3401 : normalize directory separators to use the current platform separator
3 months ago
Siegfried Pammer
e8a9227483
Fix #3264 : Do not allow zero-length segments in CleanUpName: Escape path separator characters at the start of a segment.
9 months ago
Siegfried Pammer
1fca3da27b
Fix #3072 : Ignore resources have the same name as a namespace.
1 year ago
Siegfried Pammer
963ff7cb3d
Fix #3151 : Make IProjectFileWriter API public
1 year ago
Siegfried Pammer
2d90c457c8
Lift some artificial restrictions to PEFile in WholeProjectDecompiler and ReflectionDisassembler.
1 year ago
Siegfried Pammer
ca78d4a14d
Use MetadataFile instead of PEFile in TypeSystem.
1 year ago
Siegfried Pammer
7cb8e6534d
Fix #2850 : Make sure that type names longer than 255 characters are handled correctly by WholeProjectDecompiler.GetFileNameForHandle
2 years ago
Siegfried Pammer
cedad6d5e8
#2850 : swap try-catch and using statement so that exception handling shows the file being decompiled causing the IOException.
2 years ago
Siegfried Pammer
ff0e929866
- Introduce ProjectItemInfo instead of tuples in WholeProjectDecompiler project item generation.
...
- Set 'LogicalName' attribute for all decompiled resources. This makes it possible to correctly recompile projects with resource names that are not valid filenames.
- Set Generator and SubType properties for XAML files.
2 years ago
Siegfried Pammer
4eea4bf353
Fix #2830 : Can't decompile project with / in resource name on Windows
2 years ago
Siegfried Pammer
c3d0e5ecc2
Fix #1784 : Move RemoveEmbeddedAttributes transform to ICSharpCode.Decompiler and do no longer decompile embedded attributes in WholeProjectDecompiler and PortablePdbWriter.
3 years ago
Siegfried Pammer
71e4d51786
Fix #2807 : Detect when a compiler-generated/hidden type needs to be decompiled in WholeProjectDecompiler.
3 years ago
Siegfried Pammer
343694c549
Generalize progress reporting for decompilation and PDB generation.
3 years ago
Siegfried Pammer
5046e4cf60
Fix #2718 , Fix #2719 , Fix #2725 : Remove WPF compiler-generated code.
3 years ago
Siegfried Pammer
8dd721aee3
Fix #2706 : Filenames and directories truncated to 30 characters.
...
With the built-in support for long paths in .NET 6.0, we no longer need to check for the registry key. The only limitation that remains is maxSegmentLength, which seems to be 255 on all commonly used file systems/all platforms. Also there is no need to differentiate between Windows and other platforms.
- Windows Explorer in Windows 10 seems to be fine with files generated by ILSpy that have names longer than 260 characters.
- Notepad++ and other applications seem to use 8.3 path syntax to access the file.
- Visual Studio 2022 does not like the long path names, affected users should raise an issue with MS. ILSpy generates proper paths.
3 years ago
Siegfried Pammer
2646265069
#2565 : Improve GetFileNameForResource: Assume that input is already a filename.
3 years ago
Siegfried Pammer
37456672d7
WholeProjectDecompiler: set segment length for Unix to 255.
3 years ago
Siegfried Pammer
a48f0d311c
Fix #2330 : Add conditional sub directory support
3 years ago
Siegfried Pammer
bf336d85cf
Fix second issue mentioned in #2565 : resource names such as path/to/file.ext are now properly handled as relative paths.
4 years ago
Siegfried Pammer
849161e362
- Replace DecompilerTextView.CleanUpName with direct uses of WholeProjectDecompiler.CleanUpFileName
...
- Add file extension handling to WholeProjectDecompiler.CleanUpName
- Add WholeProjectDecompiler.SanitizeFileName, which respects file extensions
4 years ago
Siegfried Pammer
19d5ea4095
Fix #2505 : Do treat whole resource name as file name without directory at the start of GetFileNameForResource.
4 years ago
Siegfried Pammer
07199e2ecf
Fix #2038 : Add proper support for Long paths on Windows 10 and limit path segments to 255 characters (with long path support) or 30 characters. If a PathTooLongException is thrown display a better error message on project export.
4 years ago
Siegfried Pammer
635013329a
Fix #2358 : use current Path.DirectorySeparatorChar instead of hard-coded backslashes.
4 years ago
Siegfried Pammer
2a9a5237d1
Fix exception when trying to export project for which no target-framework moniker was detected.
4 years ago
Daniel Grunwald
0de6238d65
Support resolving assembly references within a bundle.
5 years ago
文煌
77dc975f9b
fix GetFileNameForResource not in accordance with https://github.com/icsharpcode/ILSpy/pull/2157
5 years ago
文煌
4b27bb5427
copy file overwrite
5 years ago
文煌
908c3081e9
don't write app.manifest if it is default
5 years ago
文煌
65bf8fe92e
do not write app icon and manifest if null
5 years ago
文煌
4a8cca26a1
write app manifest
5 years ago
文煌
1ac59a79cd
copy app.config if exists
5 years ago
文煌
8c54f3caa1
write application icon file
5 years ago
文煌
9742a7cfae
1. Create sub directory when namespace contains dot
...
2. Detect when .NET 3.0/3.5 is required
5 years ago
文煌
a5fdb05c6f
use relative path if reference and target project are in the same root path
5 years ago
dotnet format
0d9f871a4f
#2128 : Reformat the whole code base.
5 years ago
Daniel Grunwald
d02fd09822
Explicitly create partitioners for `Parallel.ForEach` calls.
...
Apparently the default `Parallel.ForEach` logic checks whether the input enumerable is an array or `IList<T>`,
and if it is, creates whole chunks of sequential list/array indices and assigns those to the worker threads.
This is more efficient if the individual items are processed very quickly; but if they take varying amounts of time, a single chunk full of expensive items might keep a single CPU core busy for long after all other CPU cores have gone idle.
5 years ago
dymanoid
bfb57da93b
Implement project writer for SDK style projects
5 years ago
dymanoid
fdef5d11c6
Rearrange project writing logic
...
The WholeProjectDecompiler shall not have too many responsibilities.
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
dymanoid
a952cda502
Create dedicated namespace for project decompiler
5 years ago
dymanoid
48be6267f3
Replace tuples with value tuples
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
Daniel Grunwald
ff40fbd984
Fix #1958 : Emit ProjectTypeGuids when generating .csproj
...
For portable class libraries, the type GUID is required so that Visual Studio for Mac can open the project.
5 years ago
Daniel Grunwald
fb5ab19bfd
SolutionCreator: Store project type GUID in .sln
5 years ago
Daniel Grunwald
3bf9f7c301
Fix #1943 : "ref readonly" returns from properties/indexers
5 years ago