Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/fsprojects-archive/zzarchive-FSharp.Interop.ComProvider

F# type provider for COM interop.
https://github.com/fsprojects-archive/zzarchive-FSharp.Interop.ComProvider

Last synced: 4 months ago
JSON representation

F# type provider for COM interop.

Lists

README

        

# COM Type Provider

The COM Type Provider provides a new way to do COM interop from F#.

For more details see the [documentation](http://fsprojects.github.io/FSharp.ComProvider/).

[![Build status](https://ci.appveyor.com/api/projects/status/75x143ra44sp4uye)](https://ci.appveyor.com/project/lasandell/fsharp-comprovider)

## Technical Overview

Normally, to do COM interop from a .NET project, you use the _Add Reference_
function of Visual Studio and select the COM component you would like to
reference. This generates an assembly containing the interop types that you can
then consume from your code.

Behind the scenes, _Add Reference_ actually depends on the `TypeLibConverter`
class to create the interop types (this is also used by the `tlbimp.exe` tool).
This allows us to leverage the same `TypeLibConverter` class from the type
provider to do the heavy work of generating the interop types.

## Limitations and Known Issues

The following known issues and limitations currently apply to the COM provider.
Some of them I would like to eventually rectify if possible:

* Only 32-bit target executables and COM libraries are supported.
* Type libraries with Primary Interop Assemblies (PIAs) such as Microsoft
Office are not supported.
* All the types generated from the type library are embedded, rather than
just the ones you refer to in your code.

## Maintainer(s)

- [@lasandell](https://github.com/lasandell)
- [@tpetricek](https://github.com/tpetricek)

The default maintainer account for projects under "fsprojects" is [@fsprojectsgit](https://github.com/fsprojectsgit) - F# Community Project Incubation Space (repo management)