dotnet publish -c Release -r <runtime identifier> -p:PublishSingleFile=true -p:PublishSingleFile=true implies --self-contained true. Add --self-contained false to publish as runtime-dependent.-r RID and -p:PublishSingleFile=true can be moved to .csproj as the following properties:but to target multiple RIDs, you have to use dotnet publish with the -r option for each RID.-p:IncludeNativeLibrariesForSelfExtract=true to include native libraries (like Common Language Runtime dlls) in the output executable, but be aware of drawbacks and consider using an installer framework instead of self-contained with PublishSingleFile.dotnet publishdotnet publish -c Release -r <runtime identifier> -p:PublishSingleFile=true-p:PublishSingleFile=true-p:PublishSingleFile=true--self-contained true--self-contained false-r RIDdotnet publishdotnet publish-r-p:IncludeNativeLibrariesForSelfExtract=true<RuntimeIdentifier>RID</RuntimeIdentifier>
<PublishSingleFile>true</PublishSingleFile>