중간 출력에 참조 어셈블리 쓰기

이제 .NET SDK는 기본적으로 OutDir 대신 IntermediateOutputPath참조 어셈블리를 작성합니다. 이 변경으로 인해 런타임에 필요한 출력에서 이러한 빌드 타임 전용 아티팩트가 제거됩니다.

도입된 버전

.NET SDK 6.0.200

이전 동작

참조 어셈블리가 추가되었으므로 .NET SDK는 컴파일의 OutDir 디렉터리에 있는 ref 디렉터리에 참조 어셈블리를 작성했습니다. .NET 5에서는 ProduceReferenceAssembly 속성이 도입되었으며 net5.0 이상의 애플리케이션에 대해 기본값이 true로 설정되었습니다. 이 변경으로 인해 많은 애플리케이션이 OutDir 디렉터리에 참조 어셈블리를 암시적으로 생성하기 시작했습니다.

새 동작

이제 참조 어셈블리는 다른 많은 중간 아티팩트와 마찬가지로 기본적으로 IntermediateOutputPath 디렉터리의 refint 디렉터리에 기록됩니다.

변경 이유

참조 어셈블리는 일반적으로 런타임 자산이 아니므로 기본적으로 OutDir 디렉터리에 속하지 않습니다.

사용자 지정 빌드 논리가 있고 참조 어셈블리를 조작해야 하는 경우 TargetRefPath 속성을 사용하여 올바른 경로를 가져옵니다.

외부 시스템에 OutDir의 참조 어셈블리가 필요한 경우 프로젝트 파일에서 MSBuild 속성 ProduceReferenceAssemblyInOutDirtrue로 설정합니다.