Siegfried Pammer
356d7a1b43
Fix #3408 : Wrong exported assembly type
2025-03-21 10:05:53 +01:00
Siegfried Pammer
53522c45f8
#3401 : fix missing file extension if name contains ':'
2025-02-21 15:52:11 +01:00
Siegfried Pammer
31bbcf41bc
Fix handling of file extensions in project export.
2025-02-21 09:14:23 +01:00
Siegfried Pammer
292c21d68e
#3401 : Treat class name as single name and not as path.
2025-02-21 07:32:32 +01:00
Siegfried Pammer
0096994679
Fix #3401 : normalize directory separators to use the current platform separator
2025-02-20 10:00:59 +01:00
Siegfried Pammer
e8a9227483
Fix #3264 : Do not allow zero-length segments in CleanUpName: Escape path separator characters at the start of a segment.
2024-08-17 19:38:53 +02:00
Siegfried Pammer
67eade3e05
Merge pull request #3191 from icsharpcode/file-loaders
...
Add IFileLoader API
2024-04-01 11:08:50 +02:00
Siegfried Pammer
1fca3da27b
Fix #3072 : Ignore resources have the same name as a namespace.
2024-03-31 18:51:05 +02:00
Siegfried Pammer
963ff7cb3d
Fix #3151 : Make IProjectFileWriter API public
2024-03-31 18:46:46 +02:00
Siegfried Pammer
2d90c457c8
Lift some artificial restrictions to PEFile in WholeProjectDecompiler and ReflectionDisassembler.
2024-03-28 20:42:11 +01:00
Siegfried Pammer
ca78d4a14d
Use MetadataFile instead of PEFile in TypeSystem.
2024-03-24 15:35:13 +01:00
Siegfried Pammer
7cb8e6534d
Fix #2850 : Make sure that type names longer than 255 characters are handled correctly by WholeProjectDecompiler.GetFileNameForHandle
2022-12-03 21:44:22 +01:00
Siegfried Pammer
cedad6d5e8
#2850 : swap try-catch and using statement so that exception handling shows the file being decompiled causing the IOException.
2022-12-03 18:42:18 +01:00
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.
2022-12-03 16:55:45 +01:00
Siegfried Pammer
4eea4bf353
Fix #2830 : Can't decompile project with / in resource name on Windows
2022-12-03 16:55:45 +01:00
Daniel Grunwald
6fd5ca1e60
Merge pull request #2832 from icsharpcode/roslyn-440
...
Update Roslyn used for tests to 4.4.0
2022-11-10 23:00:47 +01:00
Siegfried Pammer
c3d0e5ecc2
Fix #1784 : Move RemoveEmbeddedAttributes transform to ICSharpCode.Decompiler and do no longer decompile embedded attributes in WholeProjectDecompiler and PortablePdbWriter.
2022-11-04 21:20:45 +01:00
Siegfried Pammer
71e4d51786
Fix #2807 : Detect when a compiler-generated/hidden type needs to be decompiled in WholeProjectDecompiler.
2022-11-04 13:02:38 +01:00
Siegfried Pammer
343694c549
Generalize progress reporting for decompilation and PDB generation.
2022-10-21 10:18:05 +02:00
Siegfried Pammer
5046e4cf60
Fix #2718 , Fix #2719 , Fix #2725 : Remove WPF compiler-generated code.
2022-07-15 18:17:27 +02:00
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.
2022-06-15 23:04:56 +02:00
Andrii Kurdiumov
a2e9a2f5d8
Allow decompile C++/CLI assemblies
...
When C++/CLI project produce assembly it generates target attribute like this
```
[assembly: TargetFramework(".NETCoreApp,Version=7.0", FrameworkDisplayName = "")]
```
when C# generates `TargetFrameworkAttribute` it produce slightly different format
```
[assembly: TargetFramework(".NETCoreApp,Version=v7.0", FrameworkDisplayName = "")]
```
2022-05-30 13:25:02 +06:00
Siegfried Pammer
2646265069
#2565 : Improve GetFileNameForResource: Assume that input is already a filename.
2021-12-08 23:30:58 +01:00
Siegfried Pammer
37456672d7
WholeProjectDecompiler: set segment length for Unix to 255.
2021-12-07 19:25:23 +01:00
Siegfried Pammer
a48f0d311c
Fix #2330 : Add conditional sub directory support
2021-12-05 16:33:39 +01:00
Siegfried Pammer
bf336d85cf
Fix second issue mentioned in #2565 : resource names such as path/to/file.ext are now properly handled as relative paths.
2021-12-03 15:50:06 +01:00
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
2021-12-03 14:10:45 +01:00
Siegfried Pammer
19d5ea4095
Fix #2505 : Do treat whole resource name as file name without directory at the start of GetFileNameForResource.
2021-09-18 12:32:20 +02:00
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.
2021-09-06 21:02:31 +02:00
Daniel Grunwald
bd9aabeae2
Update to dotnet-format 5.1.225507.
...
This makes the formatting expected by our CI consistent with that generated by VS2019.9.
2021-05-07 22:23:09 +02:00
Siegfried Pammer
635013329a
Fix #2358 : use current Path.DirectorySeparatorChar instead of hard-coded backslashes.
2021-04-30 22:11:56 +02:00
Siegfried Pammer
2a9a5237d1
Fix exception when trying to export project for which no target-framework moniker was detected.
2021-04-16 14:08:24 +02:00
Siegfried Pammer
2ed52b9634
#2362 : Provide more information on assembly resolve errors
2021-04-16 14:06:23 +02:00
Siegfried Pammer
c75ead8212
Merge pull request #2201 from wwh1004/fix1
...
fix GetFileNameForResource not in accordance with new directory style
2020-11-05 20:47:14 +01:00
Daniel Grunwald
0de6238d65
Support resolving assembly references within a bundle.
2020-11-01 15:56:16 +01:00
文煌
77dc975f9b
fix GetFileNameForResource not in accordance with https://github.com/icsharpcode/ILSpy/pull/2157
2020-10-28 00:53:46 +08:00
文煌
c2c1bcc570
write empty RootNamespace if need
2020-10-14 22:16:40 +02:00
文煌
4b27bb5427
copy file overwrite
2020-10-14 22:16:28 +02:00
文煌
908c3081e9
don't write app.manifest if it is default
2020-10-14 22:15:01 +02:00
文煌
65bf8fe92e
do not write app icon and manifest if null
2020-10-14 22:15:01 +02:00
文煌
4a8cca26a1
write app manifest
2020-10-14 22:15:01 +02:00
文煌
1ac59a79cd
copy app.config if exists
2020-10-14 22:15:01 +02:00
文煌
8c54f3caa1
write application icon file
2020-10-14 22:15:01 +02:00
文煌
d612008c9f
write OutputType for asp.net library
2020-10-14 22:14:07 +02:00
文煌
bc888117e9
write EmbeddedResource for non .resx file
2020-10-14 22:03:41 +02:00
文煌
9742a7cfae
1. Create sub directory when namespace contains dot
...
2. Detect when .NET 3.0/3.5 is required
2020-10-14 22:02:17 +02:00
文煌
5d80c56189
don't write Reference for .NET Core shared assembly
2020-10-14 21:57:10 +02:00
文煌
e8e0f89f6d
don't write HintPath for .NET Core shared assembly
2020-10-14 21:54:56 +02:00
文煌
a5fdb05c6f
use relative path if reference and target project are in the same root path
2020-10-14 21:45:43 +02:00
文煌
8152e40d5c
don't write HintPath for GAC assembly
2020-10-14 21:35:09 +02:00