잡동사니

Duplicate Targetframework attribute 본문

IT

Duplicate Targetframework attribute

yeTi 2020. 5. 22. 14:32

안녕하세요. yeTi입니다.

오늘은 VSCode에서 프로젝트 빌드시 Duplicate Targetframework attribute가 발생하는 문제를 해결해보겠습니다.

작업 환경

  • VSCode : 1.44.0
  • dotnet : 3.1.300
  • .NETFramework : 4.7.1

문제 상황

여러 프로젝트를 사용하는 상황에서 빌드하다보면 global::System.Runtime.Versioning.TargetFrameworkAttribute' 특성이 중복되었습니다. 혹은 Duplicate Targetframework attribute가 발생할 때가 있습니다.

해결

MSBuild: unnecessary rebuilds because of generated AssemblyAttributes.cs - Microsoft Docs에 따르면 MSBuild에는 프로퍼티로 TargetFrameworkMonikerAssemblyAttributesPath가 설정되어 있어서 하나의 Assembly Attributes를 사용하는 구조를 가진다.

.csproj 파일에 다른과 같이 설정하여 모든 프로젝트가 하나의 Assembly Attributes를 가지도록 하면 됩니다.

<TargetFrameworkMonikerAssemblyAttributesFileClean>False</TargetFrameworkMonikerAssemblyAttributesFileClean>
<TargetFrameworkMonikerAssemblyAttributesPath>
$(MSBuildThisFileDirectory)/../.NETFramework,Version=v4.7.1.AssemblyAttributes.cs
</TargetFrameworkMonikerAssemblyAttributesPath>
Comments