Git Product home page Git Product logo

interopdotnet's People

Contributors

andreyakinshin avatar kanwhoa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

interopdotnet's Issues

Nuget package

Interesting project. Thanks!
Can you publish nuget package?

How about use SetDllDirectory (or Path variable)

The current implementation is not very suitable for the case when the native library is dependent on other native libraries.

What do you think about the following options use native libraries?

  1. Before loading of libraries depending on the environment (Mono \ x86, Win \ x64 ...) set the variable Path or call function SetDllDirectory
  2. Access the libraries using standart DllImport attribute (without a path parameter).

Can't run in studio 2012

Can't believe I am the first to comment on this project. I have several dot.net projects I want to run on mono and this code seems to get me a long way to get there. I was impressed it was used to solve mono compatibility with the tesseract project.

Anyway it compiles but when I run I get this error.

The program can't start because MSVCR120D.dll is missing from your
computer. Try reinstalling the program to fix this problem.

Doing my due diligence googling I found that dll is for debugging in 2013 and not part of the runtime distribution package so I can't get it on my machine. No one without vs 2013 would be able to run it? I figured I could solve the error by compiling the native dll in 2012. Needed to do that anyhow since there was no dll to test again. Still getting the error.

I am a little perplexed with where it is getting the reference to vs 2013 debug.

New attribute to discover interface to implement

Hello
Usually when creating wrapper classes for unmanaged code it is assumed, that classes will be internal (we do so). But you library requres interface with DynamicDllImport attributes to be public.

What do you think about to create new attribute and apply it to interface. This attribute will be used to discover and implement public, internal and private interfaces

Document the performance impact of your approach

Hi,
I've done, in other interop project(s), some of the same things that you do in this project (namely Preloading with dlopen / LoadLibrary)
The one main difference (Except for your approch being generic and published on NuGet of course... ๐Ÿ‘ ) is that still kept on using the "normal" [DllImport] attributes with the additional [SuppressUnmanagedCodeSecurity] attributes to eliminate much of the standard P/Invoke ovearhead..

Does you approach actually reduce/increase the overhead (of the runtime, naturally, not the initialization) when compared to P/Invoke?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.