Tooling: ๋นŒ๋“œ ํ”Œ๋žซํผ x86์ด ์žˆ๋Š” Asp.Net ํ”„๋กœ์ ํŠธ

์— ๋งŒ๋“  2016๋…„ 05์›” 23์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: aspnet/Tooling

๋‹ค์Œ์€ ์‹ค์ œ ๋‹ต๋ณ€์ด ์—†๋Š” CLI ๋ฐ MVC ๋ฆฌํฌ์ง€ํ† ๋ฆฌ https://github.com/aspnet/Mvc/issues/4663 ๋ฐ https://github.com/dotnet/cli/issues/3091 ์˜ ์Šค๋ ˆ๋“œ์ž…๋‹ˆ๋‹ค. VS Tooling ๋ฒ„๊ทธ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

Nuget ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ dll์„ ์ฐธ์กฐํ•˜๋Š” asp.net ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋„ค์ดํ‹ฐ๋ธŒ DLL์€ x86์šฉ์œผ๋กœ๋งŒ ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค. buildOptions๋ฅผ ์„ค์ •ํ•˜๋„๋ก project.json์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.
"ํ”Œ๋žซํผ": "x86"

๊ทธ๋Ÿฌ๋‚˜ Visual Studio๋ฅผ ํ†ตํ•ด ์ด asp.net ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๋ฉด "win7-x86"์— ๋ฐ˜๋Œ€๋˜๋Š” "bin\Debug\net46\win7-x64"๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ".exe" ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

"dotnet build -r win7-x86"์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ๋Š”๋ฐ ์˜ฌ๋ฐ”๋ฅธ ํด๋” "bin\Debug\net46\win7-x86"์„ ๋งŒ๋“  ๋‹ค์Œ ".exe" ํŒŒ์ผ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ x86 ๋ชจ๋“œ์—์„œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ "VS 2015 Tooling Preview"๋ฅผ ํ†ตํ•ด ์„ค์น˜๋œ Microsoft .NET Code 1.0.0 RC2 - SDK Preview 1(x64)์„ ์ œ๊ฑฐํ•˜๊ณ  "x86"์„ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ๋ชจ๋“  ๊ฒƒ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์˜ณ์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. x64 ๋ฐ x86์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด ์žˆ์–ด์•ผ ํ•˜๊ณ  ํ•ด๋‹น buildOption์„ ํ†ตํ•ด dotnet์— ์ปดํŒŒ์ผ ๋ฐฉ๋ฒ•์„ ์•Œ๋ฆด ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์†์„ฑ์—์„œ ๋นŒ๋“œ ์˜ต์…˜์„ ์„ค์ •ํ•˜๋Š” MSBuild ๋ฐ ASP.Net ํ”„๋กœ์ ํŠธ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

TFS Tracked

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

VS2017์ด RTM /cc @nguerrera ๋กœ ์ „ํ™˜๋˜๋ฉด ์ˆ˜์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  7 ๋Œ“๊ธ€

@BillHiebert ์ด๊ฒƒ์€ ๋ช‡ ์ฃผ ์ „์— ์ œ๊ธฐ๋œ ๋นŒ๋“œ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. cli ์ œํ•œ์ธ๊ฐ€์š”?

@sayedihashimi ๋Š” https://github.com/dotnet/cli/issues/3091 ์—์„œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ฐพ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ 1: ์ž˜๋ชป๋œ ๊ฒฝ๋ณด, ์ˆ˜์ • ์‚ฌํ•ญ์ด ์—†์ง€๋งŒ x86 SDK๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค(x64 ์ดํ›„ ๋˜๋Š” x64 ์ œ๊ฑฐ).

TFS: 224821
์ด๊ฒƒ์„ ๋‚ด๋ถ€ TFS์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณง ์—ฌ๊ธฐ์— ํšŒ์‹ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

ASP.NET Core 1.0 ๋ฐ Visual Studio 2015 ์—…๋ฐ์ดํŠธ 3 ์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ Visual Studio๋ฅผ ์—ด๊ณ  ์ƒˆ ASP.NET Core ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ(.NET Framework) ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  "๋นˆ" ํ”„๋กœ์ ํŠธ ํ…œํ”Œ๋ฆฟ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  "Hello World!" ์›น ํŽ˜์ด์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. /bin/Debug/net452/win7-x64 ํด๋”๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ ์›น ์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ  Debug ํด๋”๋ฅผ ์‚ญ์ œํ•œ ๋‹ค์Œ project.json์„ ์—ด๊ณ  "platfrom": "x86"์„ buildOptions ์„น์…˜์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

"buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true,
    "platform": "x86"
},

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด Program.cs์—์„œ host.Run()์ด ํ˜ธ์ถœ๋  ๋•Œ Microsoft.AspNetCore.Server.Kestrel.dll์—์„œ System.AggregateException์ด throw๋ฉ๋‹ˆ๋‹ค.

public class Program
{
    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();

        host.Run(); // <= this throws an exception when platform is set to x86
    }
}

๋˜ํ•œ /bin/Debug/net452/win7-x86 ๋Œ€์‹  /bin/Debug/net452/win7-x64๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์™„์ „์„ฑ์„ ์œ„ํ•ด ๋‚ด global.json ํŒŒ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "1.0.0-preview2-003121"
  }
}

์ƒํ˜ธ ์ฐธ์กฐ: https://github.com/aspnet/Home/issues/1624

VS 2017์—์„œ ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•œ ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? VS 2017 RTM์—์„œ ์ˆ˜์ •์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

VS2017์ด RTM /cc @nguerrera ๋กœ ์ „ํ™˜๋˜๋ฉด ์ˆ˜์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰