Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
workflow_dispatch:

env:
DOTNET_RUNTIME: net8.0
SETUP_DOTNET_VERSION: 8.0.x
DOTNET_RUNTIME: net10.0
SETUP_DOTNET_VERSION: 10.0.x

BEAENGINE_TAG: v5.3.0

Expand Down
2 changes: 1 addition & 1 deletion De4DotCommon.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<De4DotNetFramework Condition=" '$(SolutionName)' == 'de4dot.netframework' ">true</De4DotNetFramework>
<!-- Two different sln files are used because some of the projects are only available when targetting .NET Framework -->
<TargetFrameworks Condition=" '$(De4DotNetFramework)' == 'true' ">net48</TargetFrameworks>
<TargetFrameworks Condition=" '$(De4DotNetFramework)' != 'true' ">net8.0</TargetFrameworks>
<TargetFrameworks Condition=" '$(De4DotNetFramework)' != 'true' ">net10.0</TargetFrameworks>
<Features>strict</Features>
<LangVersion>12.0</LangVersion>
<SignAssembly>true</SignAssembly>
Expand Down
14 changes: 7 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,23 @@ RUN mkdir -p /app && \
if [ -n "$SO_FILE" ]; then cp "$SO_FILE" /app/libBeaEngine.so; else echo "Error: libBeaEngine.so not found!" && exit 1; fi

# ==============================================================================
# STAGE 2: Build de4dotEx (.NET 8.0 Cross-Platform Release)
# STAGE 2: Build de4dotEx (.NET 10.0 Cross-Platform Release)
# ==============================================================================
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS dotnet-builder
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS dotnet-builder
WORKDIR /src

# Copy all files to build
COPY . .

# Publish both de4dot and the de4dot.mcp server targeting net8.0
RUN dotnet publish -c Release -f net8.0 -o /app/publish/de4dot de4dot/de4dot.csproj
RUN dotnet publish -c Release -f net8.0 -o /app/publish/mcp de4dot.mcp/de4dot.mcp.csproj
# Publish both de4dot and the de4dot.mcp server targeting net10.0
RUN dotnet publish -c Release -f net10.0 -o /app/publish/de4dot de4dot/de4dot.csproj
RUN dotnet publish -c Release -f net10.0 -o /app/publish/mcp de4dot.mcp/de4dot.mcp.csproj
RUN rm -rf /app/publish/**/*.pdb /app/publish/**/*.xml

# ==============================================================================
# STAGE 3: Final Runtime Image (.NET 8.0 on Ubuntu / Runtime)
# STAGE 3: Final Runtime Image (.NET 10.0 on Ubuntu / Runtime)
# ==============================================================================
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime
FROM mcr.microsoft.com/dotnet/runtime:10.0 AS runtime
WORKDIR /app

# Install native dependencies required for execution (e.g. globalization, bash)
Expand Down
8 changes: 4 additions & 4 deletions build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ dotnet build -c Release -f net48 de4dot.netframework.sln
if ($LASTEXITCODE) { exit $LASTEXITCODE }
Remove-Item Release\net48\*.pdb, Release\net48\*.xml, Release\net48\Test.Rename.*

dotnet publish -c Release -f net8.0 -o publish-net8.0 de4dot
dotnet publish -c Release -f net10.0 -o publish-net10.0 de4dot
if ($LASTEXITCODE) { exit $LASTEXITCODE }
Remove-Item publish-net8.0\*.pdb, publish-net8.0\*.xml
Remove-Item publish-net10.0\*.pdb, publish-net10.0\*.xml

dotnet publish -c Release -f net8.0 -o publish-net8.0-mcp de4dot.mcp
dotnet publish -c Release -f net10.0 -o publish-net10.0-mcp de4dot.mcp
if ($LASTEXITCODE) { exit $LASTEXITCODE }
Remove-Item publish-net8.0-mcp\*.pdb, publish-net8.0-mcp\*.xml
Remove-Item publish-net10.0-mcp\*.pdb, publish-net10.0-mcp\*.xml
4 changes: 2 additions & 2 deletions de4dot.mcp/de4dot.mcp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<!-- Force it to build for .NET 8.0 since MCP/Minimal APIs require .NET 8 capabilities -->
<TargetFrameworks>net8.0</TargetFrameworks>
<!-- Force it to build for .NET 8.0+ since MCP/Minimal APIs require .NET 8 capabilities -->
<TargetFrameworks>net10.0</TargetFrameworks>
</PropertyGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion dotnet-deobfuscate/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Command for registering inside your MCP client config (`claude_desktop_config.js
"mcpServers": {
"de4dotex": {
"command": "dotnet",
"args": ["/absolute/path/to/publish-net8.0-mcp/de4dot.mcp.dll"]
"args": ["/absolute/path/to/publish-net10.0-mcp/de4dot.mcp.dll"]
}
}
```
Expand Down
4 changes: 2 additions & 2 deletions test.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ mkdir obj -Force | Out-Null
# C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64
$env:PATH="C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64;$env:PATH"

$de4dotExec="Release\net8.0\win-x64\de4dot.exe"
$de4dotExec="Release\net10.0\win-x64\de4dot.exe"

function Test($item)
{
Expand All @@ -22,4 +22,4 @@ function Test($item)
Test("tests\samples\inlining\inline_static_method.il")
Test("tests\samples\inlining\inline_static_generic_method.il")
Test("tests\samples\inlining\inline_static_method_br_target.il")
Test("tests\samples\inlining\inline_static_method_new.il")
Test("tests\samples\inlining\inline_static_method_new.il")
Loading