Load-Assemblies.ps1
# Copyright 2016 Cloudbase Solutions Srl # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # $here = Split-Path -Parent $MyInvocation.MyCommand.Path function Initialize-Assemblies { $libDir = Join-Path $here "lib" $assemblies = @{ "portable" = Join-Path $libDir "net45\YamlDotNet.dll"; "released" = Join-Path $libDir "net35\YamlDotNet.dll"; } try { [YamlDotNet.Serialization.Serializer] | Out-Null } catch [System.Management.Automation.RuntimeException] { try { return [Microsoft.PowerShell.CoreCLR.AssemblyExtensions]::LoadFrom($assemblies["portable"]) } catch [System.Management.Automation.RuntimeException] { return [Reflection.Assembly]::LoadFrom($assemblies["released"]) } } } Initialize-Assemblies | Out-Null |