Commit Graph
76 Commits
Author SHA1 Message Date
Christoph Wille cdeae656fe NuGet August 2026 Updates (#3981)
* Set v11 RTM
* Update features in README.md
* Remove the two 900-iteration process-list scroll tests
* Keep Svg.Controls.Skia.Avalonia at 12.0.0.13
* 10.0.11 and Roslyn for net11p7
* Fix module-scan test failing when PowerShell's NGen images are stale
* Opt Pack NuGets out of the MSBuild server to fix SBOM generation
2026-08-11 21:56:11 +02:00
Siegfried Pammer 3cb27b0dcc Fix #3510: keep exporting a project when a member cannot be decompiled
One member the decompiler could not handle aborted the whole export, so a
single unsupported method in a large assembly left the user with nothing: no
sources, no .csproj, no way around it. Recovering silently would trade that
for a worse outcome - broken output nobody knows is broken - so every failure
is recorded, written where the content would have gone, and pointed at the
issue tracker.

The recovery has to hold for anything the export touches, not just method
bodies: a file that cannot be created, a resource that cannot be decoded, an
output visitor that throws mid-type. Each of those costs its own unit and
nothing else, and the units behind a failure are still produced - dropping
them would make the export look complete when it is not.

Consumers that relied on the exception keep their failure signal: ilspycmd
exits non-zero and lists the failures, the PowerShell cmdlets raise an error
record per failure, and the round-trip suite asserts the export reported none
- otherwise a crash on a method its own tests never call would ship green.

Assisted-by: Claude:claude-opus-5[1m]:Claude Code
2026-08-10 21:00:47 +02:00
Christoph Wille b888153f24 NuGet 07/26 updates and .NET 11 P6 Roslyn 2026-07-14 20:46:08 +02:00
Siegfried Pammer 07d5a01d2b Add license headers to source files that lacked them
Backfills the standard MIT X11 header on hand-written files that never
got one, attributing each to its first-commit author and year from git
history. Code vendored from dotnet/runtime and Humanizr/Humanizer gets
its origin's license lines and a provenance note instead. Generated
files (Resources.Designer.cs, the version-info template), tool-managed
suppression files, and BAML test-case fixtures intentionally stay
header-less.

Assisted-by: Claude:claude-fable-5:Claude Code
2026-07-05 21:09:46 +02:00
Christoph Wille da57bad452 Merge pull request #3758 from icsharpcode/christophwille/nu0626
NuGet June 2026 Updates
2026-06-10 16:21:11 +02:00
Siegfried Pammer 87748e0cde Override vulnerable transitive packages from the DiaSymReader chain
The Microsoft.DiaSymReader / .PortablePdb packages pull NETStandard.Library
1.6.1, which drags in 4.3.0 builds of System.Net.Http, System.Private.Uri
and System.Text.RegularExpressions, all carrying known advisories (NU1902/
NU1903). They are framework-provided at runtime on net10.0; pin the patched
4.3.4 / 4.3.2 / 4.3.1 via central transitive pinning so NuGet audit passes.
Enabling transitive pinning also aligns a handful of other transitive
packages to their declared central versions.

Assisted-by: Claude:claude-opus-4-8:Claude Code
2026-06-10 00:11:56 +02:00
Siegfried Pammer 667f6ad5f8 Add pwsh dev scripts, repo-wide lock files, and CI NuGet caching
Replace the Windows-only .bat helpers (clean / debugbuild / releasebuild /
restore / updatedeps and BuildTools/format) with cross-platform pwsh
scripts at the repo root: restore.ps1, build.ps1 (-Configuration), clean.ps1,
updatedeps.ps1 and BuildTools/format.ps1, alongside the existing publish.ps1.

Enable a packages.lock.json for every project by hoisting
RestorePackagesWithLockFile into the root Directory.Build.props (the four
core libraries set it individually before) and commit the generated locks,
so restores are repeatable and CI can cache packages off them.

Cache the NuGet packages folder in the three setup-dotnet workflows
(build-ilspy, build-frontends, codeql-analysis), keyed on the lock files
per the setup-dotnet caching guidance.

Scope the Debug "Verify package contents" check to the *.filelist outputs
it actually generates. A project's packages.lock.json is keyed only by
(framework, RID), with no host-OS axis, so a lock produced on Linux
legitimately differs from one produced on Windows whenever an OS-conditional
PackageReference applies (Debug+Windows pulls Microsoft.DiaSymReader*). The
Windows restore then rewrites those locks; that churn must not fail a step
whose job is to police the VSIX/MSI file lists.

Also drop the dead ILSpy.BamlDecompiler publish line from
publishlocaldev.ps1, mirroring the earlier publish.ps1 fix.

Assisted-by: Claude:claude-opus-4-8:Claude Code
2026-06-09 00:58:19 +02:00
Siegfried Pammer b729995435 Remove WPF ILSpy host (prep for Avalonia rewrite)
Strip the WPF ILSpy/, ILSpy.Tests/, and ILSpy.BamlDecompiler/ projects
and their solution entries so this commit can serve as the base for
replaying the rewritten Avalonia history on top. The BAML plugin needed
UseWpf + AvalonEdit and had a ProjectReference to ILSpy/ILSpy.csproj;
once both are gone it cannot build and would block bisect for every
intermediate commit. The Avalonia main app will absorb its three exports
(factory, file handler, entry node) in the later "BAML to XAML
decompiler integration" commit.
2026-06-08 07:34:42 +02:00
MyselfandMyselfish a2c4dc8aee Fix PowerShell PostBuild failing when solution path contains spaces (#3669)
Quote the $(ProjectDir) and $(TargetDir) MSBuild properties in the
Copy-Item commands so that paths with spaces are handled correctly.

Co-authored-by: Myselfish <[email protected]>
2026-03-24 19:49:57 +01:00
Peter Crabtree b4fb59ae5d dev: Standardize ps1 files to tabs 2025-08-28 20:56:19 -04:00
Peter Crabtree e1e16b64f5 dev: Strip BOM mark from text files 2025-08-28 20:56:19 -04:00
Snorri Beck GislasonandSnorri Gislason d2d76eceaa PSCmdLet to output target framework for an assembly (#3435)
* PS cmdlet to output target framework for an assembly

* Add GetTargetFramework to psd1

---------

Co-authored-by: Snorri Gislason <[email protected]>
2025-03-30 13:11:23 +02:00
Christoph Wille c573573d8e Compile Include Link= improvements 2024-10-15 15:43:39 +02:00
Siegfried Pammer ca78d4a14d Use MetadataFile instead of PEFile in TypeSystem. 2024-03-24 15:35:13 +01:00
Christoph Wille 084d02a447 Apply Central package management (requires package source mapping) (#3124)
* Apply Central package management https://learn.microsoft.com/en-us/nuget/consume-packages/central-package-management (requires package source mapping https://learn.microsoft.com/en-us/nuget/consume-packages/package-source-mapping)

* Microsoft.DiaSymReader.Converter.Xml from dotnet-tools, Microsoft.DiaSymReader.Native from nuget.org feed

* Trying to sort what is on which feed for previews of Diasymreader packages

* Parse the Roslyn version from Directory.packages.props

* Use specific versions for Diasymreader from nuget.org to allow VS2022 addin to restore properly

* Tests needs also locked references
2023-11-23 07:25:23 +01:00
Christoph Wille abce1a5ae9 Go to latest version where applicable (ics.d stays on v6 for SRM) (#3120) 2023-11-20 12:42:30 +01:00
Christoph Wille ccab6f4517 Conditional-ize pwsh/powershell in PS cmdlet project. See #3019. 2023-06-22 15:50:16 +02:00
Christoph Wille e8d9da10be Update README for PS cmdlets module 2023-04-27 17:46:44 +02:00
Jan HoekandJan Hoek 29db7fac30 PowerShell module manifest (#2976)
* Ignore .vscode folders

* Added PowerShell manifest

* After building, copy the manifest to the target folder

---------

Co-authored-by: Jan Hoek <[email protected]>
2023-04-27 17:41:04 +02:00
Siegfried Pammer 343694c549 Generalize progress reporting for decompilation and PDB generation. 2022-10-21 10:18:05 +02:00
Siegfried Pammer 3043af0ead Fix NRT warnings in ILSpyX 2022-04-02 14:27:26 +02:00
Siegfried Pammer 1b51c9830d Fix build. 2022-03-22 22:21:28 +01:00
Siegfried Pammer 4b475cfa69 Create ILSpyX project and make the following APIs reusable:
- AssemblyList, AssemblyListManager, AssemblyListSnapshot
- LoadedAssembly
- LoadedPackage and friends
- PDB providers
2022-03-20 20:15:11 +01:00
Siegfried Pammer d2b3abb276 #2516: Add ILSpy.AddIn.slnf, ILSpy.Wpf.slnf and ILSpy.XPlat.slnf; replaces Frontends.sln 2021-10-15 13:30:34 +02:00
Christoph Wille 5ab414a62b Prepare for rc2 (and fix PS csproj too) 2021-04-18 15:22:12 +02:00
Christoph Wille 5d92132aa5 Update frontends for rc1 2021-04-08 19:48:07 +02:00
Christoph Wille d50153fd48 Update frontends for p3 2021-02-28 21:02:16 +01:00
Christoph Wille ecd1fb294c Frontends for v7p2 2021-01-11 13:57:21 +01:00
Christoph Wille e998b51f0c Update to 7p1 2020-11-16 16:49:37 +01:00
Daniel Grunwald 0eb5469374 Extract package version numbers to packages.props. 2020-09-29 21:08:20 +02:00
Christoph Wille 0051c4e55f Publish frontends for 6.2 final 2020-09-24 16:07:07 +02:00
Christoph Wille a7dc7b3500 Frontends updated for 6.2-preview2 2020-09-18 07:32:57 +02:00
Christoph Wille 84ff7209cc Update frontends for 6.2p1 2020-08-31 09:53:20 +02:00
Christoph Wille 2cd77bb3cc Frontends for 6.1 2020-07-28 10:02:17 +02:00
Christoph Wille 004ea1bfc3 Frontends for v6 final 2020-07-07 19:09:11 +02:00
Christoph Wille 184a7b1a49 Frontends for RC1 2020-06-29 17:13:30 +02:00
Christoph Wille e3258bd322 Frontends for P4 2020-06-17 11:56:21 +02:00
dymanoid b492a20442 Move assembly resolution logic to better place
WholeProjectDecompiler shall not care about checking whether an assembly
is in GAC.
2020-06-08 19:07:04 +02:00
dymanoid a952cda502 Create dedicated namespace for project decompiler 2020-06-07 11:46:46 +02:00
Christoph Wille 26c196139e Update frontends to 6.0.0.5671-preview3 2020-04-18 10:39:08 +02:00
Siegfried Pammer 350c54d575 GetDecompiledProjectCmdlet: remove unnecessary use of ConcurrentQueue 2020-02-02 09:18:59 +01:00
Siegfried Pammer d051e3aca4 Fix #1923: Add progress reporting to PowerShell GetDecompiledProjectCmdlet 2020-01-31 14:55:38 +01:00
Christoph Wille 5a24cd8249 Update clients to preview2 2020-01-08 11:03:01 +01:00
Siegfried Pammer 597ee991a2 Fix #1676: Add pdb support to powershell and command-line frontends
derived from work by @an-dr-eas-k in #1679
2019-12-10 11:35:24 +01:00
Christoph Wille 14019b8aa3 Update and publish frontends for -preview1 2019-12-02 14:30:31 +01:00
Siegfried Pammer dc4dcc5082 Add LanguageVersion, RemoveDeadCode and RemoveDeadStores options to powershell cmdlet. 2019-10-02 21:01:43 +02:00
Christoph Wille 939832866f Update frontends for 5.0 RTM 2019-09-19 19:05:33 +02:00
Christoph Wille 86783493dd Update frontends (ilspycmd, ps cmdlets, workbook) 2019-09-09 09:30:58 +02:00
Christoph Wille b4e4321959 Frontends for P4 2019-08-12 09:09:16 +02:00
Christoph Wille 707551afc1 Update frontends and workbook for preview3 2019-07-08 14:00:30 +02:00