Skip to content

Remove FullCLR code #4357

Description

@SteveL-MSFT

This project started as a fork of the Windows PowerShell 5.1 code base. As we've progressed towards a PowerShell Core 6.0 release and with the capability of dotnet core 2.0 and dotnet std 2.0 being able to load dotnet framework 4.5.1+ assemblies that are compatible with dotnet std 2.0, we can simplify the code base by removing the legacy FullCLR code so that we no longer have #ifdefs for CORECLR (and !CORECLR). This was discussed and approved by @PowerShell/powershell-committee. When reviewing the code, do not blindly just remove the FullCLR code, but validate if updates to .NET Core means using the FullCLR code instead of the limited .NET Core code.

Remaining #if [!]CORECLR usages

param($path = "../repos/PowerShell")

$sources = Get-ChildItem -Recurse -Path $path -Include *.cs
foreach ($source in $sources) {
    $content = Get-Content $source -Raw
    if ($content -match "#if CORECLR" -or $content -match "#if !CORECLR") {
        $source.FullName
    }
}

src/Microsoft.PowerShell.Commands.Diagnostics/CoreCLR/Stubs.cs
src/Microsoft.PowerShell.Commands.Diagnostics/CommonUtils.cs
src/Microsoft.PowerShell.Commands.Diagnostics/ExportCounterCommand.cs
src/Microsoft.PowerShell.Commands.Diagnostics/GetCounterCommand.cs
src/Microsoft.PowerShell.Commands.Diagnostics/ImportCounterCommand.cs
src/Microsoft.PowerShell.Commands.Diagnostics/NewWinEventCommand.cs
src/Microsoft.PowerShell.Commands.Utility/commands/utility/new-object.cs
src/Microsoft.PowerShell.LocalAccounts/LocalAccounts/Extensions.cs
src/Microsoft.PowerShell.LocalAccounts/LocalAccounts/Sam.cs
src/Microsoft.PowerShell.Security/security/AclCommands.cs
src/Microsoft.PowerShell.Security/security/CertificateProvider.cs
src/Microsoft.PowerShell.Security/security/ExecutionPolicyCommands.cs
src/Microsoft.WSMan.Management/CredSSP.cs
src/Microsoft.WSMan.Management/Interop.cs
src/Microsoft.WSMan.Management/WsManHelper.cs
src/System.Management.Automation/cimSupport/cmdletization/xml/CoreCLR/cmdlets-over-objects.xmlSerializer.autogen.cs
src/System.Management.Automation/cimSupport/cmdletization/ScriptWriter.cs
src/System.Management.Automation/CoreCLR/CorePsAssemblyLoadContext.cs
src/System.Management.Automation/DscSupport/CimDSCParser.cs
src/System.Management.Automation/engine/debugger/debugger.cs
src/System.Management.Automation/engine/hostifaces/Command.cs
src/System.Management.Automation/engine/hostifaces/Connection.cs
src/System.Management.Automation/engine/hostifaces/ConnectionBase.cs
src/System.Management.Automation/engine/hostifaces/HostUtilities.cs
src/System.Management.Automation/engine/hostifaces/InternalHost.cs
src/System.Management.Automation/engine/hostifaces/LocalConnection.cs
src/System.Management.Automation/engine/hostifaces/LocalPipeline.cs
src/System.Management.Automation/engine/hostifaces/Parameter.cs
src/System.Management.Automation/engine/hostifaces/PowerShell.cs
src/System.Management.Automation/engine/hostifaces/PowerShellProcessInstance.cs
src/System.Management.Automation/engine/hostifaces/RunspacePool.cs
src/System.Management.Automation/engine/hostifaces/RunspacePoolInternal.cs
src/System.Management.Automation/engine/interpreter/ControlFlowInstructions.cs
src/System.Management.Automation/engine/Modules/ModuleCmdletBase.cs
src/System.Management.Automation/engine/parser/Compiler.cs
src/System.Management.Automation/engine/parser/FusionAssemblyIdentity.cs
src/System.Management.Automation/engine/parser/GlobalAssemblyCache.cs
src/System.Management.Automation/engine/parser/Parser.cs
src/System.Management.Automation/engine/parser/TypeResolver.cs
src/System.Management.Automation/engine/remoting/client/remoterunspace.cs
src/System.Management.Automation/engine/remoting/commands/CustomShellCommands.cs
src/System.Management.Automation/engine/remoting/commands/EnterPSHostProcessCommand.cs
src/System.Management.Automation/engine/remoting/commands/remotingcommandutil.cs
src/System.Management.Automation/engine/remoting/commands/ResumeJob.cs
src/System.Management.Automation/engine/remoting/commands/SuspendJob.cs
src/System.Management.Automation/engine/remoting/common/WireDataFormat/EncodeAndDecode.cs
src/System.Management.Automation/engine/remoting/common/RemoteSessionNamedPipe.cs
src/System.Management.Automation/engine/remoting/common/RunspaceConnectionInfo.cs
src/System.Management.Automation/engine/remoting/common/throttlemanager.cs
src/System.Management.Automation/engine/remoting/fanin/BaseTransportManager.cs
src/System.Management.Automation/engine/remoting/fanin/InitialSessionStateProvider.cs
src/System.Management.Automation/engine/remoting/fanin/WSManPlugin.cs
src/System.Management.Automation/engine/remoting/fanin/WSManPluginFacade.cs
src/System.Management.Automation/engine/remoting/fanin/WSManTransportManager.cs
src/System.Management.Automation/engine/remoting/server/OutOfProcServerMediator.cs
src/System.Management.Automation/engine/remoting/server/ServerPowerShellDriver.cs
src/System.Management.Automation/engine/remoting/server/serverremotesession.cs
src/System.Management.Automation/engine/remoting/server/ServerRunspacePoolDriver.cs
src/System.Management.Automation/engine/remoting/server/ServerSteppablePipelineDriver.cs
src/System.Management.Automation/engine/Attributes.cs
src/System.Management.Automation/engine/CommandDiscovery.cs
src/System.Management.Automation/engine/CommandMetadata.cs
src/System.Management.Automation/engine/ExecutionContext.cs
src/System.Management.Automation/engine/GetEvent_Types_Ps1Xml.cs
src/System.Management.Automation/engine/InitialSessionState.cs
src/System.Management.Automation/engine/LanguagePrimitives.cs
src/System.Management.Automation/engine/MshCommandRuntime.cs
src/System.Management.Automation/engine/pipeline.cs
src/System.Management.Automation/engine/serialization.cs
src/System.Management.Automation/engine/Types_Ps1Xml.cs
src/System.Management.Automation/engine/Utils.cs
src/System.Management.Automation/help/HelpSystem.cs
src/System.Management.Automation/help/UpdatableHelpCommandBase.cs
src/System.Management.Automation/help/UpdatableHelpSystem.cs
src/System.Management.Automation/help/UpdateHelpCommand.cs
src/System.Management.Automation/logging/MshLog.cs
src/System.Management.Automation/namespaces/FileSystemProvider.cs
src/System.Management.Automation/namespaces/RegistryProvider.cs
src/System.Management.Automation/namespaces/Win32Native.cs
src/System.Management.Automation/security/SecureStringHelper.cs
src/System.Management.Automation/singleshell/config/MshSnapinInfo.cs
src/System.Management.Automation/utils/ClrFacade.cs
src/System.Management.Automation/utils/StructuredTraceSource.cs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Committee-ReviewedPS-Committee has reviewed this and made a decisionIssue-Code Cleanupthe issue is for cleaning up the code with no impact on functionalityResolution-No ActivityIssue has had no activity for 6 months or more

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions