저는 관리되는 코드 (주로 C++/CLI)에서 '일반 사용자'버전과 '프로'버전의 두 가지 버전으로 도구를 구축하고 있습니다..NET에서 정적 라이브러리와 동일합니까?
핵심 코드가 두 버전간에 동일하다는 사실 때문에 결과 도구를 단일 어셈블리 (DLL)로 패키징하고 .cpp를 포함하지 않아도되기 때문에 약간의 문제가있었습니다. 두 가지 버전의 도구 프로젝트에서 공통 코드에 대한 파일. 차라리 공통 코드에 대한 프로젝트와 각 버전의 프로젝트에 대한 프로젝트를 가지며 도구 프로젝트의 각 버전을 공통 코드에 의존하고 원하는대로 링크 할 수 있습니다.
관리되지 않는 C++에서는 정적 라이브러리에 공통 코드를 삽입하고 두 버전의 도구를이 라이브러리에 연결하면됩니다. 이 C++/CLI에서 작동하도록 할 수없는 것 같습니다. DLL 어셈블리에 공통 코드를 작성해야하고 DLL보다 더 많은 결과를 얻는 것 같습니다.
요약하면 하나의 프로젝트에서 공통 코드를 작성하고 각 최종 제품 프로젝트와 연결하여 공통 코드를 포함하는 두 개의 단일 DLL 어셈블리를 생성하는 방법을 알아낼 수 없습니다.
나는 아마 뭔가 잘못하고 있지만 netmodules를 사용하여이 작업을 수행하는 방법을 알아 내려고 노력했습니다. 그리고 나는 그걸 작동시키지 못했습니다. 결국 나는 그것이 작동하는 유일한 방법은 작동하는 결과보다는 공통 코드 어셈블리의 빌드 제품을 링크하도록 링커에 지시하는 것이지만 해킹 IMHO 비트입니다.
어쨌든 누구든지이 문제를 해결하는 방법에 대한 제안이 있습니까?
편집 됨 : 편집 된 어셈블리는 100 % 관리 코드가 아니며 관리되는 코드와 관리되지 않는 코드가 혼합되어 있다는 사실을 언급 했어야합니다. 아마도 C++/CLI로 생성 된 어셈블리와 매우 공통적입니다. ...
단일 DLL로 패키지해야한다는 생각을 없애는 것이 좋습니다. –