Exemplo n.º 1
0
        private bool TryConvertFromDeserializedModuleInfo(object inputData, out PSModuleInfo moduleInfo)
        {
            moduleInfo = null;
            PSObject pso = inputData as PSObject;
            if (Deserializer.IsDeserializedInstanceOfType(pso, typeof(PSModuleInfo)))
            {
                string moduleName;
                LanguagePrimitives.TryConvertTo<string>(pso.Properties["Name"].Value, out moduleName);

                Guid moduleGuid;
                LanguagePrimitives.TryConvertTo<Guid>(pso.Properties["Guid"].Value, out moduleGuid);

                Version moduleVersion;
                LanguagePrimitives.TryConvertTo<Version>(pso.Properties["Version"].Value, out moduleVersion);

                string helpInfoUri;
                LanguagePrimitives.TryConvertTo<string>(pso.Properties["HelpInfoUri"].Value, out helpInfoUri);

                moduleInfo = new PSModuleInfo(name: moduleName, path: null, context: null, sessionState: null);
                moduleInfo.SetGuid(moduleGuid);
                moduleInfo.SetVersion(moduleVersion);
                moduleInfo.SetHelpInfoUri(helpInfoUri);
                // setting the base to temp directory as this is a deserialized
                // module info.
                moduleInfo.SetModuleBase(System.IO.Path.GetTempPath());

                return true;
            }

            return false;
        }