2016-11-30 6 views
3

타사 DLL을 사용하는 응용 프로그램이 있습니다. Mac에서 Visual Studio를 사용하여 Windows에서와 동일한 방식으로 응용 프로그램에 액세스 할 수있는 방법이 있습니까?Visual Studio Mac에서 DLL을 사용할 수 있습니까

+0

Mac 용 Visual Studio가 갑자기 Macintosh에서 Windows 바이너리를 실행할 수있게하지 않는다고 확신합니다. 그래서 ... 내가 네 질문을 오해하지 않는 한, 아니. –

+2

타사에 연락하여 Mac 버전의 라이브러리를 요청해야합니다. –

+0

확인할 수는 없지만 .NET 코어/표준 DLL이 작동하는 것 같습니다 – BradleyDotNET

답변

4

당신이 윈도우 대응과 같은 이름을 가진 IDE를 가지고 있기 때문에 생산하는 바이너리 양도 할 수 없습니다 생각할 수도 있지만 제

.

answer on Super User 좀 더 정보를 제공합니다

그 문제에 OS X, 리눅스, 또는 POSIX의 실제 DLL을 없습니다. 그들은 차별화하지 않습니다.

왜?

대용량 Mac 항목은 자체적으로 많이 포함되어 있습니다 (.app은 실제로는 폴더 임). 비록

...

Another queston on SO 같은 일을 요청하고 대답은 말한다 :

마지막으로 마이크로 소프트는 완전히 플랫폼 독립적 인 .NET 코어를 발표했다.

... .NET 응용 프로그램은 Mac 또는 Linux 컴퓨터 경량 IDE를 사용하여 개발할 수 있습니다. Visual Studio 코드 및 Visual Studio for Mac MacOS X의 Mono가 통합 된 곳에서 IDE가 릴리스되었습니다.

따라서 사용하려는 라이브러리 (DLL) 공급 업체가 .NET Core 프레임 워크와 함께 버전을 만든 경우 운이 좋을 수도 있습니다.

3

상황에 따라 다르다 :

  1. 관리 .NET의 DLL : 수입 및 Windows
  2. 에 VS 같이 네이티브 DLL을 같은 방법을 사용할 수 있습니다 : 직접 사용할 수 없습니다. 귀하의 경우 목표 시스템 인 OSX 용으로 빌드해야합니다.

외장 (Windows) 플랫폼 관련 코드가없는 경우 C/C++ 코드가있는 경우 OSX (예 : GCC 사용) 용으로 빌드 할 수 있어야합니다. 그런 다음 컴파일 된 * .so/* .dylib 파일을 직접 사용할 수 있습니다. 그러나 .NET Runtime (OSX의 경우 Mono)에 DllMap 구성 파일을 사용하여 다른 파일을 사용하도록 지시해야합니다 (예제는 http://www.mono-project.com/docs/advanced/pinvoke/dllmap/ 참조).

당신이 만든 소스는 유닉스 용처럼 보이므로 OSX에서 빌드 할 수있는 기회는 꽤 있습니다. (Makefile이 있고 결과 바이너리는 유닉스에서 libswe.so가됩니다). 당신은 당신이 OSX에 대한 DLL의 바이너리가있는 경우

, 당신은 단지 구성 파일이 필요합니다 (What are the differences between .so and .dylib on osx?는 dylib에 대한 좋은 답변을 것 같다)는 OSX 특정 libswe.dylib를 얻기 위해 GCC에 -dynamiclib 매개 변수를 전달을 시도 할 수 있습니다 당신을 위해 .

<configuration> 
    <dllmap os="osx" dll="libswe.dll" target="libswe.dylib"/> 
<configuration/> 

그것은 현재의 OS는 OSX의 경우 libswe.dylib 대신 libswe.dll에서 기호를 가져올 .NET 런타임을 알려줍니다과 같이 할 수 NET 응용 프로그램.

관련 문제