Question

Je suis en train de charger un .Net 4.0 assemblage, en utilisant [Reflection.Assembly] :: LoadFrom, à l'intérieur d'une session Powershell 2.0 à distance. Il fonctionne localement, en raison d'un changement que je fait au fichier powershell.exe.config, mais échoue avec un « Ceci est l'assemblage construit par un moteur d'exécution plus récente ... » exception dans une session à distance.

Les deux machines impliquées ont .Net 2.0 et 4.0, et ont le changement powershell.exe.config pour les x86 et x64 bits executables PowerShell. J'ai aussi essayé de changer les clés de Registre de serveur powershell: HKLM: \ Software \ Microsoft \ Powershell \ 1 \ PowerShellEngine \ runtimeVersion HKLM: \ Software \ Wow6432Node \ Microsoft \ Powershell \ 1 \ PowerShellEngine \ runtimeVersion

Je dois manquer quelque chose, mais je ne sais pas ce qu'elle est.

Edit: Voici un exemple du code que je exécution.

PS C:\>Enter-PSSession -ComputerName server1
[server1]: PS C:\stuff> dir *.dll | foreach { [Reflection.Assembly]::LoadFrom( $_.FullName ) }
Était-ce utile?

La solution

La solution est de créer ac: \ windows de System32 \ fichier wsmprovhost.exe.config et ac: \ windows \ SysWOW64 \ file wsmprovhost.exe.config, sur le serveur , semblable à la celui que je trouve à: http://poshcode.com/2045

<?xml version="1.0" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
    <supportedRuntime version="v2.0" />
  </startup>
</configuration>

Je trouve l'article suivant, qui fait allusion à wsmprovhost.exe besoin d'être configuré comme le fichier powershell.exe. http://tfl09.blogspot.com/2010/08/using- plus tard, les versions-de-net-framework.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top