관리되지 않는 C++ 앱에서 라이선스가 부여된 .Net 컨트롤을 호스팅하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/51436

  •  09-06-2019
  •  | 
  •  

문제

완전히 관리되지 않는 C++ 앱 내에서 관리되는 컨트롤을 호스팅하고 실행해야 합니다.어떻게 해야 하나요?

라이선스가 없는 컨트롤을 실행하는 방법은 일반적으로 간단합니다.

if (SUCCEEDED(ClrCreateManagedInstance(type, iid, &obj)))
{
    // do something with obj
}

그러나 라이선스가 부여된 컨트롤을 사용할 때는 어떻게든 .licx 파일을 프로젝트에 포함해야 합니다(참조 애플리케이션 라이센스).관리되지 않는 C++ 앱에서는 필수 접착제가 작동하지 않는 것 같습니다.lc.exe 도구는 라이센스를 어셈블리 리소스로 포함할 수 있어야 하지만 올바른 호출을 요청하지 않았거나 자동으로 실패했습니다.어떤 도움이라도 주시면 감사하겠습니다.

도움이 되었습니까?

해결책

대답은 사용 중인 특정 구성 요소에 따라 다릅니다.구성 요소 지원 센터에 문의하거나 해당 구성 요소를 배포하는 데 필요한 사항에 대한 설명서를 읽어보세요.
기본적으로 구성 요소 개발자는 라이센스를 자유롭게 구현할 수 있습니다. 그들이 적합하다고 생각하는 대로..licx 파일을 사용하면 구성 요소가 GetKey 및 IsValidKey(게시한 링크에 설명되어 있음)를 통해 개발자가 원하는 모든 작업을 수행할 수 있어야 합니다.따라서 GetKey가 구성 요소 디렉터리에서 .licx 파일을 확인하는 경우 해당 파일이 있는지 확인하기만 하면 됩니다.
AFAIK 클라이언트 어셈블리는 컨트롤을 인스턴스화하는 것 외에는 아무 것도 할 필요가 없습니다.

또한 사용 중인 구성 요소 이름과 lc.exe 명령을 게시하면 사람들이 살펴볼 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top