-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathEngineOutput.props
More file actions
34 lines (27 loc) · 1.77 KB
/
Copy pathEngineOutput.props
File metadata and controls
34 lines (27 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?xml version="1.0" encoding="utf-8"?>
<!--
엔진 실행 파일이 놓이는 자리를 한 곳에서 정한다.
── 왜 필요한가 ──
Release가 실행되지 않았다. 원인은 출력 경로가 두 갈래였기 때문이다:
네이티브 쪽은 Release만 OutDir을 Bin\Editor\로 덮어쓰는데, 관리 어셈블리
(ScriptCore·GameScripts)는 구성과 무관하게 x64\$(Configuration)\Managed\로
나갔다. Debug에서는 우연히 둘이 같은 곳이라 문제가 드러나지 않았고,
Release에서만 exe 옆에 Managed가 없었다.
'우연히 맞아떨어지는 두 경로'는 언젠가 어긋난다. 한 곳에서 정하고 양쪽이
그것을 참조하게 한다.
── nethost.dll ──
hostfxr를 찾아 주는 얇은 DLL이다. 이것이 없으면 스크립트 계층이 통째로
죽는데, 그동안 저장소에 없는 파일이 x64\Debug\에 손으로 놓여 있었다.
즉 새로 받은 사람은 Debug조차 스크립트 없이 돌았고, 아무도 그것을 알리는
장치가 없었다. 빌드가 직접 배치하게 한다.
헤더·링크·DLL 배치가 모두 이 속성을 참조한다. 버전을 여러 파일에 직접
박아 두면 한쪽만 갱신되어 링크 또는 실행 단계에서 뒤늦게 실패한다.
-->
<Project>
<PropertyGroup>
<EngineOutDir Condition="'$(Configuration)' == 'Release'">$(MSBuildThisFileDirectory)Bin\Editor\</EngineOutDir>
<EngineOutDir Condition="'$(EngineOutDir)' == ''">$(MSBuildThisFileDirectory)x64\$(Configuration)\</EngineOutDir>
<DotNetHostPackVersion>10.0.11</DotNetHostPackVersion>
<DotNetHostPackDir>C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Host.win-x64\$(DotNetHostPackVersion)\runtimes\win-x64\native\</DotNetHostPackDir>
</PropertyGroup>
</Project>