@@ -584,11 +584,16 @@ class PwrshPlugInMediator
584
584
return g_MANAGED_PLUGIN_ALREADY_LOADED;
585
585
}
586
586
587
+ // Not used for CORECLR plugins
588
+ #if !CORECLR
589
+
587
590
if ((NULL == wszVCLRVersion) || (NULL == wszVAppBase))
588
591
{
589
592
return g_INVALID_INPUT;
590
593
}
591
594
595
+ #endif
596
+
592
597
do
593
598
{
594
599
// Setting global AppBase and CLR Version
@@ -646,6 +651,10 @@ class PwrshPlugInMediator
646
651
647
652
void LoadPowerShell (PCWSTR version) throw (...)
648
653
{
654
+ unsigned int exitCode = EXIT_CODE_SUCCESS;
655
+
656
+ // PowerShell core plugin does not depend on registered Windows PowerShell version.
657
+ #if !CORECLR
649
658
// Verify incoming powershell version format.
650
659
int iPSMajorVersion = 0 ;
651
660
int iPSMinorVersion = 0 ;
@@ -671,16 +680,18 @@ class PwrshPlugInMediator
671
680
{
672
681
requestedMonadMajorVersion = 1 ;
673
682
}
683
+ #endif
674
684
675
685
wchar_t * wszMonadVersion = NULL ; // Allocated via ConstructPowerShellVersion || GetRegistryInfo
676
686
wchar_t * wszTempCLRVersion = NULL ; // Allocated via GetRegistryInfo
677
687
wchar_t * wszTempAppBase = NULL ; // Allocated via GetRegistryInfo
678
688
PWSTR wszMgdPlugInFileName = NULL ; // Allocated in CreateMgdPluginFileName
679
- unsigned int exitCode = EXIT_CODE_SUCCESS;
680
689
PlugInException* pErrorMsg = NULL ;
681
690
682
691
do
683
692
{
693
+ // PowerShell core plugin does not depend on registered Windows PowerShell version.
694
+ #if !CORECLR
684
695
exitCode = ConstructPowerShellVersion (iPSMajorVersion, iPSMinorVersion, &wszMonadVersion);
685
696
if (exitCode != EXIT_CODE_SUCCESS)
686
697
{
@@ -711,16 +722,19 @@ class PwrshPlugInMediator
711
722
{
712
723
break ;
713
724
}
725
+ #endif
714
726
715
727
if (!bIsPluginLoaded)
716
728
{
729
+ // wszMgdPlugInFileName is ignored for CORECLR.
717
730
this ->powerShellClrHost = PowerShellClrWorkerFactory (wszMgdPlugInFileName);
718
731
if (NULL == this ->powerShellClrHost )
719
732
{
720
733
exitCode = ERROR_NOT_ENOUGH_MEMORY;
721
734
break ;
722
735
}
723
736
737
+ // wszMonadVersion, wszTempCLRVersion ignored for CORECLR.
724
738
exitCode = powerShellClrHost->LaunchClr (wszMonadVersion, wszTempCLRVersion, " PwrshPlugin" );
725
739
if (EXIT_CODE_SUCCESS != exitCode)
726
740
{
@@ -730,8 +744,10 @@ class PwrshPlugInMediator
730
744
break ;
731
745
}
732
746
747
+ // wszMgdPlugInFileName, wszTempCLRVersion, wszTempAppBase ignored for CORECLR.
733
748
exitCode = LoadManagedPlugIn (wszMgdPlugInFileName, wszTempCLRVersion, wszTempAppBase, &pErrorMsg);
734
749
}
750
+ #if !CORECLR
735
751
else
736
752
{
737
753
if (requestedMonadMajorVersion != iMajorVersion)
@@ -747,6 +763,7 @@ class PwrshPlugInMediator
747
763
exitCode = g_OPTION_SET_APP_BASE_NOT_MATCH;
748
764
}
749
765
}
766
+ #endif
750
767
} while (false );
751
768
752
769
if (NULL != wszMonadVersion)
0 commit comments