• Api Documentation
  • Source Code
  • SharpAssimp.Unmanaged
  • UnmanagedLibraryResolver
Search Results for

    Show / Hide Table of Contents
    • SharpAssimp
      • Animation
      • AnimationBehaviour
      • AnimationInterpolation
      • AssimpContext
      • AssimpException
      • BlendMode
      • Bone
      • BoundingBox
      • Camera
      • CompileFlags
      • ConsoleLogStream
      • DefaultLogStream
      • EmbeddedTexture
      • ExcludeComponent
      • ExportDataBlob
      • ExportFormatDescription
      • Face
      • FileIOMode
      • FileIOSystem
      • FreeNativeDelegate
      • IMarshalable<Managed, Native>
      • INativeCustomMarshaler
      • IOStream
      • IOSystem
      • ImporterDescription
      • ImporterFeatureFlags
      • Light
      • LightSourceType
      • LogStream
      • LoggingCallback
      • Material
      • Material.PBRMaterialProperties
      • Material.ShaderMaterialProperties
      • MaterialProperty
      • Matrix3x3
      • MemoryHelper
      • Mesh
      • MeshAnimationAttachment
      • MeshAnimationChannel
      • MeshKey
      • MeshMorphAnimationChannel
      • MeshMorphKey
      • MeshMorphingMethod
      • MetaDataType
      • Metadata
      • Metadata.Entry
      • NativeCustomMarshalerAttribute
      • Node
      • NodeAnimationChannel
      • NodeCollection
      • Origin
      • PostProcessPreset
      • PostProcessSteps
      • PrimitiveType
      • PropertyType
      • QuaternionKey
      • Ray
      • ReturnCode
      • Scene
      • SceneFlags
      • ShadingMode
      • Texel
      • TextureFlags
      • TextureMapping
      • TextureOperation
      • TextureSlot
      • TextureType
      • TextureWrapMode
      • UVTransform
      • UVTransformFlags
      • VectorKey
      • VertexWeight
    • SharpAssimp.Configs
      • ACEvaluateSubdivisionConfig
      • ACSeparateBackfaceCullConfig
      • ASEReconstructNormalsConfig
      • AnimationAccuracyConfig
      • AppScaleConfig
      • BooleanPropertyConfig
      • ColladaIgnoreUpDirectionConfig
      • ColladaUseColladaNamesConfig
      • DeboneAllOrNoneConfig
      • DeboneThresholdConfig
      • ExportPointCloudsConfig
      • FBXConvertToMetersConfig
      • FBXImportAllGeometryLayersConfig
      • FBXImportAllMaterialsConfig
      • FBXImportAnimationsConfig
      • FBXImportCamerasConfig
      • FBXImportEmbeddedTexturesConfig
      • FBXImportEmbeddedTexturesLegacyNamingConfig
      • FBXImportLightsConfig
      • FBXImportMaterialsConfig
      • FBXOptimizeEmptyAnimationCurvesConfig
      • FBXPreservePivotsConfig
      • FBXStrictModeConfig
      • FavorSpeedConfig
      • FloatPropertyConfig
      • GlobalKeyFrameImportConfig
      • GlobalScaleConfig
      • IFCCylindricalTessellationConfig
      • IFCSkipSpaceRepresentationsConfig
      • IFCSmoothingAngleConfig
      • IFCUseCustomTriangulationConfig
      • IRRAnimationFrameRateConfig
      • IgnoreTextureCoordinatesConfig
      • IntegerPropertyConfig
      • KeepSceneHierarchyConfig
      • LWOImportOneLayerConfig
      • LWSAnimationEndConfig
      • LWSAnimationStartConfig
      • MD2KeyFrameImportConfig
      • MD3HandleMultiPartConfig
      • MD3KeyFrameImportConfig
      • MD3ShaderSourceConfig
      • MD3SkinNameConfig
      • MD5NoAnimationAutoLoadConfig
      • MDLColorMapConfig
      • MDLKeyFrameImportConfig
      • MaterialExcludeListConfig
      • MatrixPropertyConfig
      • MaxBoneCountConfig
      • MeasureTimeConfig
      • MeshTriangleLimitConfig
      • MeshVertexLimitConfig
      • MultithreadingConfig
      • NoSkeletonMeshesConfig
      • NodeExcludeListConfig
      • NormalSmoothingAngleConfig
      • NormalizeVertexComponentsConfig
      • OgreMaterialFileConfig
      • OgreTextureTypeFromFilenameConfig
      • PropertyConfig
      • RemoveComponentConfig
      • RemoveDegeneratePrimitivesCheckAreaConfig
      • RemoveDegeneratePrimitivesConfig
      • RemoveEmptyBonesConfig
      • RootTransformationConfig
      • SMDKeyFrameImportConfig
      • SmdLoadAnimationListConfig
      • SortByPrimitiveTypeConfig
      • StringPropertyConfig
      • TangentSmoothingAngleConfig
      • TangentTextureChannelIndexConfig
      • TerragenComputeTexCoordsConfig
      • TransformUVConfig
      • UnrealHandleFlagsConfig
      • UnrealKeyFrameImportConfig
      • VertexBoneWeightLimitConfig
      • VertexCacheSizeConfig
      • XFileUseDoublesConfig
    • SharpAssimp.Unmanaged
      • AiAnimMesh
      • AiAnimation
      • AiBone
      • AiCamera
      • AiConfigs
      • AiDefines
      • AiExportDataBlob
      • AiExportFormatDesc
      • AiFace
      • AiFile
      • AiFileCloseProc
      • AiFileFlushProc
      • AiFileIO
      • AiFileOpenProc
      • AiFileReadProc
      • AiFileSeek
      • AiFileTellProc
      • AiFileWriteProc
      • AiImporterDesc
      • AiLight
      • AiLogStream
      • AiLogStreamCallback
      • AiMatKeys
      • AiMaterial
      • AiMaterialProperty
      • AiMemoryInfo
      • AiMesh
      • AiMeshAnim
      • AiMeshColorArray
      • AiMeshMorphAnim
      • AiMeshMorphKey
      • AiMeshTextureCoordinateArray
      • AiMeshUVComponentArray
      • AiMetadata
      • AiMetadataEntry
      • AiNode
      • AiNodeAnim
      • AiScene
      • AiString
      • AiTexture
      • AssimpLibrary
      • Platform
      • UnmanagedFunctionNameAttribute
      • UnmanagedLibrary
      • UnmanagedLibraryResolver

    Class UnmanagedLibraryResolver

    Resolves unmanaged DLLs for UnmanagedLibrary. The process is completely configurable, where the user can supply alternative library names (e.g. versioned libs), an override library name, and probing paths. These can be set for both 32/64 bit, or seperately for 32 or 64 bit. See ResolveLibraryPath(string) for the search strategy.

    Inheritance
    object
    UnmanagedLibraryResolver
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: SharpAssimp.Unmanaged
    Assembly: SharpAssimp.dll
    Syntax
    public sealed class UnmanagedLibraryResolver

    Properties

    | Edit this page View Source

    Platform

    Gets the platform that the application is running on.

    Declaration
    public Platform Platform { get; }
    Property Value
    Type Description
    Platform

    Methods

    | Edit this page View Source

    ResolveLibraryPath(string)

    Given a library name, this function attempts to resolve the file path from which it can be loaded. Each step of the search strategy uses the fallback library names if the given name was not found in the current step. If the search is unsuccessfully, the library name is returned which means the OS will try and do its own search strategy when attempting to load the library (this is dependent on the OS). The search strategy is the following, in order of execution:

    1. Search user-specified probing paths.
    2. Search {AppBaseDirectory}/runtimes/{RID}/native/.
    3. Search {AppBaseDirectory}/.
    4. Search nuget package path, e.g. {UserProfile}/.nuget/packages/{PackageId}/{PackageVersion}/runtimes/{RID}/native/.

    The search strategy gives priority to user-specified probing paths, then local paths to the application, then finally examining the global nuget cache. The RID is the Runtime Identifier based on the platform/architecture, see also Microsoft's RID Catalog.

    Declaration
    public string ResolveLibraryPath(string libName)
    Parameters
    Type Name Description
    string libName

    Name of the library to attempt to resolve.

    Returns
    Type Description
    string

    Full file path to the library, or the file name if not found (e.g. "libXYZ.so").

    | Edit this page View Source

    SetFallbackLibraryNames(params string[])

    Sets the collection of fallback library names (e.g. versioned libs) for both 32-bit and 64-bit probing.

    Declaration
    public void SetFallbackLibraryNames(params string[] fallbackLibNames)
    Parameters
    Type Name Description
    string[] fallbackLibNames

    Null to clear, or set of fallback library names.

    | Edit this page View Source

    SetFallbackLibraryNames32(params string[])

    Sets the collection of fallback library names (e.g. versioned libs) for 32-bit probing.

    Declaration
    public void SetFallbackLibraryNames32(params string[] fallbackLibNames)
    Parameters
    Type Name Description
    string[] fallbackLibNames

    Null to clear, or set of fallback library names.

    | Edit this page View Source

    SetFallbackLibraryNames64(params string[])

    Sets the collection of fallback library names (e.g. versioned libs) for 64-bit probing.

    Declaration
    public void SetFallbackLibraryNames64(params string[] fallbackLibNames)
    Parameters
    Type Name Description
    string[] fallbackLibNames

    Null to clear, or set of fallback library names.

    | Edit this page View Source

    SetOverrideLibraryName(string)

    Sets an override 32-bit and 64-bit library name. By default, the UnmanagedLibrary implementations creates a default name for the library, which is passed into ResolveLibraryPath(string) for resolving. If the override is non-null, it will be used instead. This is useful if the library to be loaded is not conforming to the platform's default prefix/extension scheme (e.g. libXYZ.so on linux where "lib" is the prefix and ".so" the extension).

    Declaration
    public void SetOverrideLibraryName(string overrideName)
    Parameters
    Type Name Description
    string overrideName

    Null to clear, or override library name.

    | Edit this page View Source

    SetOverrideLibraryName32(string)

    Sets an override 32-bit library name. By default, the UnmanagedLibrary implementations creates a default name for the library, which is passed into ResolveLibraryPath(string) for resolving. If the override is non-null, it will be used instead. This is useful if the library to be loaded is not conforming to the platform's default prefix/extension scheme (e.g. libXYZ.so on linux where "lib" is the prefix and ".so" the extension).

    Declaration
    public void SetOverrideLibraryName32(string overrideName)
    Parameters
    Type Name Description
    string overrideName

    Null to clear, or override library name.

    | Edit this page View Source

    SetOverrideLibraryName64(string)

    Sets an override 64-bit library name. By default, the UnmanagedLibrary implementations creates a default name for the library, which is passed into ResolveLibraryPath(string) for resolving. If the override is non-null, it will be used instead. This is useful if the library to be loaded is not conforming to the platform's default prefix/extension scheme (e.g. libXYZ.so on linux where "lib" is the prefix and ".so" the extension).

    Declaration
    public void SetOverrideLibraryName64(string overrideName)
    Parameters
    Type Name Description
    string overrideName

    Null to clear, or override library name.

    | Edit this page View Source

    SetProbingPaths(params string[])

    Sets the collection of file paths to probe for both 32-bit and 64-bit libraries. These paths always are first to be searched, in the order that they are given.

    Declaration
    public void SetProbingPaths(params string[] probingPaths)
    Parameters
    Type Name Description
    string[] probingPaths

    Null to clear, or set of paths to probe.

    | Edit this page View Source

    SetProbingPaths32(params string[])

    Sets the collection of file paths to probe for 32-bit libraries. These paths always are first to be searched, in the order that they are given.

    Declaration
    public void SetProbingPaths32(params string[] probingPaths)
    Parameters
    Type Name Description
    string[] probingPaths

    Null to clear, or set of paths to probe.

    | Edit this page View Source

    SetProbingPaths64(params string[])

    Sets the collection of file paths to probe for 64-bit libraries. These paths always are first to be searched, in the order that they are given.

    Declaration
    public void SetProbingPaths64(params string[] probingPaths)
    Parameters
    Type Name Description
    string[] probingPaths

    Null to clear, or set of paths to probe.

    • Edit this page
    • View Source
    In this article
    • Properties
      • Platform
    • Methods
      • ResolveLibraryPath(string)
      • SetFallbackLibraryNames(params string[])
      • SetFallbackLibraryNames32(params string[])
      • SetFallbackLibraryNames64(params string[])
      • SetOverrideLibraryName(string)
      • SetOverrideLibraryName32(string)
      • SetOverrideLibraryName64(string)
      • SetProbingPaths(params string[])
      • SetProbingPaths32(params string[])
      • SetProbingPaths64(params string[])
    Back to top Copyright (c) 2012-2020 Nicholas Woodfield, (c) 2024 Salvage, (c) 2025 Jérémy Ansel