c#/helper

c# AppendTargetFrameworkToOutputPath 옵션

AUSTAR 2024. 4. 23. 23:22

c# 비주얼 스튜디오 프로젝트 설정 파일에서 AppendTargetFrameworkToOutputPath 태그 옵션을 이용하면 프로젝트를 빌드하여 출려되는 결과물 경로에 프레임워크 경로를 추가할지 설정할 수 있다.

옵션은 true, false 가 존재하며 대부분의 프로젝트에서 프레임워크 버전을 다중으로 사용하지 않기 때문에 해당 옵션을 false로 설정해도 문제가 없다고 생각된다.

<!-- AppendTargetFrameworkToOutputPath : true	-  bin\Debug\net8.0-->
<AppendTargetFrameworkToOutputPath>true</AppendTargetFrameworkToOutputPath>

true로 설정할 경우, 상단 주석과 같이 bin\Debug\net8.0 와 같이 net8.0 이라는 프레임워크 버전이 경로에 추가로 폴더가 생성되며 출력물로 가는 경로가 길어진다.

 

<!-- AppendTargetFrameworkToOutputPath : false	-  bin\Debug-->
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>

false로 설정할 경우, net8.0 이라는 프레임워크 버전이 경로에서 제거되며 출력물로 가는 경로가 짧아진다.

 

해당 경로를 프로젝트 파일에 입력한다면 전체 결과물은 다음과 같아진다.

 

<Project Sdk="Microsoft.NET.Sdk">

	<PropertyGroup>
		<!-- 빌드시 출력물-->
		<OutputType>WinExe</OutputType>
		<!-- .net 버전 설정-->
		<TargetFramework>net8.0-windows</TargetFramework>
		<!-- null 허용 경고 여부 -->
		<Nullable>enable</Nullable>
		<!--암시적 global using 지시문을 사용 및 사용하지 않도록 설정-->
		<ImplicitUsings>enable</ImplicitUsings>
		<!-- WPF 사용 설정-->
		<UseWPF>true</UseWPF>
		<!-- 해당 프로젝트를 컴파일 할 경우, 출력 경로에 해당 프레임워크 경로를 추가 할지 설정한다. -->
		<!-- AppendTargetFrameworkToOutputPath : true	-  bin\Debug\net8.0-->
		<!-- AppendTargetFrameworkToOutputPath : false	-  bin\Debug-->
		<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
	</PropertyGroup>
</Project>

 


참조 사이트

 

https://learn.microsoft.com/ko-kr/dotnet/core/project-sdk/msbuild-props#appendtargetframeworktooutputpath

 

Microsoft.NET.Sdk의 MSBuild 속성 - .NET

.NET SDK에서 이해하는 MSBuild 속성 및 항목에 대한 참조입니다.

learn.microsoft.com