2009-12-23 3 views
0

현재 라이브러리에 컴파일 된 C# 코드 기반이 있습니다. 두 명의 고객이 각각 사용 가능한 방법의 하위 집합 만 선택하면 관리는 비용을 지불하지 않은 다른 방법 (편집증)에 액세스 할 수 있도록 파일을 공유 할 수 있습니다.Visual Studio 설치 프로젝트 컴파일러 옵션

프로젝트를 복잡하게 만들지 않기 위해 코드 프로젝트의 기본 출력을 포함하는 두 개의 설치 프로젝트를 만들고 특정 프로젝트를 제거하기 위해 설치 프로젝트별로 컴파일러에 인수를 제공하거나 정의하려고합니다.

이것이 가능합니까?

더 좋은 방법이 있나요?

답장을 보내 주셔서 감사합니다.

답변

1

"스왑 파일"각도를 얻지 못했고 무엇으로 교체 했습니까? 그러나 아니요, 설치 프로젝트는 코드를 컴파일 할 수 없습니다. 별도의 빌드 프로젝트가 필요하거나 #ifdef를 활용해야합니다.

+0

한 클라이언트가 다른 클라이언트보다 기능이 많으면 버전을 스왑 (공유) 할 수 있습니다. –

+0

레버리지 #ifdef 이것은 내가하고 싶은 일이지만 각 설정 프로젝트가 코드 프로젝트에 어떻게 지정/정의 할 수 있습니까? –

+0

빌드 나 설정시 할 수있는 작업으로 서로 다른 두 클라이언트가 서로 파일을 교환하는 것을 막을 수 없습니다. 사용권 조항은 법원에서 시행됩니다. –

0

라이센싱 관련 질문이라면, 상당한 오버 헤드가 추가 될 수 있지만 호출 된 각 방법으로 라이센스를 확인하는 것이 좋습니다.

또는 각 클라이언트에 필요한 하위 집합 만 포함하는 두 개의 Visual Studio 프로젝트를 만드는 것이 좋으며 클라이언트가 필요로하는 클라이언트의 이름을 지정하는 것이 좋습니다. 두 파일은 동일한 소스 파일을 공유 할 수 있지만 두 개의 다른 바이너리로 빌드 할 수 있습니다.

라이브러리를 사용하는 제품을 출하하는 대신 라이브러리를 제품으로 출하한다고 가정합니다.

관련 문제