조건부 컴파일 및 프레임워크 타겟팅을 위한 빌드 구성 및 빌드 후 작업 활용
조건부 컴파일을 통해 개발자는 대상 프레임워크를 포함한 특정 조건에 따라 코드 기반을 조정할 수 있습니다. 이 경우 목표는 다양한 .NET Framework 버전에 맞게 코드 일부를 최적화하는 것입니다.
효율적인 접근 방식은 각 대상 프레임워크에 대해 별도의 빌드 구성을 갖는 것입니다. 예를 들어 .NET 2.0, 3.5 및 4.0에 대한 구성을 생성합니다.
<code class="language-xml"><PropertyGroup Condition="'$(Framework)' == 'NET20'"> <DefineConstants>NET20</DefineConstants> <OutputPath>bin$(Configuration)$(Framework)</OutputPath> </PropertyGroup></code>
이러한 구성에서는 기본 대상 프레임워크를 정의합니다.
<code class="language-xml"><PropertyGroup Condition="'$(Framework)' == ''"> <Framework>NET35</Framework> </PropertyGroup></code>
다음으로 초기 빌드 후에 추가 버전을 컴파일하기 위해 AfterBuild 대상을 구현합니다.
<code class="language-xml"><Target Name="AfterBuild"> <MSBuild Projects="$(MSBuildProjectFile)" Properties="Framework=NET20" RunEachTargetSeparately="true" Condition="'$(Framework)' != 'NET20'"/> </Target></code>
이 단계에서는 각 빌드에 대해 올바른 조건 정의가 설정되었는지 확인합니다.
또한 대상 프레임워크에 따라 파일을 선택적으로 포함하거나 제외할 수 있습니다.
<code class="language-xml"><Compile Include="SomeNet20SpecificClass.cs" Condition="'$(Framework)' == 'NET20'"/></code>
<code class="language-xml"><Reference Include="Some.Assembly" Condition="'$(Framework)' == 'NET20'"> <HintPath>..\Lib$(Framework)\Some.Assembly.dll</HintPath> </Reference></code>
위 내용은 조건부 컴파일은 어떻게 다양한 .NET Framework 버전에 맞게 내 코드를 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!