내 응용 프로그램 내에 .NET 3.5 및 .NET 4.0에서 사용할 수있는 일부 핵심 라이브러리를 만들어야합니다. 여러 개의 프로젝트를 만들고, 필요한 정의를 만들고, #ifdef
을 사용하여 어떤 코드가 어떤 출력 어셈블리에 들어가는 지 제어하게되어 기쁩니다.여러 .NET 버전에서 프로젝트를 동기화 유지
그러나 이러한 프로젝트를 동기화하는 방법이 있다면 내가 알고 싶은 것은 무엇입니까? XNA에서 개발할 때 Windows 빌드 및 Windows Phone 빌드가 있고 XNA는 XnaCrossPlatformGroupID
이라는 프로젝트 파일에 속성을 삽입합니다. Visual Studio에서 파일을 프로젝트에 추가하면 해당 프로젝트에 자동으로 추가됩니다. 예를 들어 Foo.cs
이라는 파일을 내 프로젝트의 Windows 복사본에 추가하면 프로젝트의 Windows Phone 복사본에 동일한 파일이 추가됩니다.
Visual Studio 내에서 정상적인 프로젝트 집합에 대해 이러한 종류의 동작을 복제 할 수있는 방법이 있습니까? IDE (예를 들어 TeamCity와 같은 것) 외부의 도구를 사용하지 않고 모든 대상 플랫폼을 한 번에 컴파일 할 수 있기를 원하기 때문에 빌드 구성을 사용하지 않는 것이 좋습니다. 또는 20 가지 빌드 구성으로 솔루션을 페어링하지 않고 여러 대상에 대해 프로젝트를 빌드 할 수있는 다른 방법이 있습니까?
재귀 적으로 포함되는 것은 멋지지만 - 내가 본 한 가지 단점은 일부 파일이 누락되었다고해도 솔루션 탐색기에서 쉽게 볼 수 없다는 것입니다. 휴대용 클래스 라이브러리 비트도 시도했지만 너무 제한적이어서 특정 파일이 플랫폼간에 변경 될 때 도움이되지 않습니다. 또한 Android 및 iOS (MonoDroid 및 MonoTouch 사용)에서 내 코드를 컴파일해야합니다. – Ani
@ananthonline 4 년 동안 protobuf-net에서 재귀적인 것을 사용 해왔다. 문제가 생기지 않았다. –
나는 * * 사랑한다. 휴대용 클래스 라이브러리에 대해 읽었지 만 여러 .NET Framework 버전을 대상으로 사용할 수 있습니까? 나는 프레임 워크 버전보다는 플랫폼 전반에서 이식성을 목표로 삼는 것처럼 보였기 때문에 나는 조금 절름발이 였고 시도하지 않았다. –