Fable: 전체 .net ν”„λ ˆμž„μ›Œν¬λ₯Ό λŒ€μƒμœΌλ‘œ ν•˜λŠ” ν”„λ‘œμ νŠΈ νŒŒμΌμ„ μ§€μ›ν•˜λŠ” λ‹¨κ³„λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

에 λ§Œλ“  2017λ…„ 05μ›” 26일  Β·  6μ½”λ©˜νŠΈ  Β·  좜처: fable-compiler/Fable

.NET CoreλŠ” ν›Œλ₯­ν•˜μ§€λ§Œ Fable을 μ‹œμž‘ν•˜λ €λ©΄ λΉ λ₯Έ ν•™μŠ΅ 곑선과 λ§Žμ€ ν•­λͺ©(dotnet sdk, λŸ°νƒ€μž„)을 μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. λ§Žμ€ μ‚¬λžŒλ“€μ΄ μ—¬μ „νžˆ VS 2015(λ˜λŠ” 2013, 2010)λ₯Ό μ‚¬μš©ν•˜κ³  있으며 λ§Œμ‘±ν•˜κ³  μžˆλ‹€κ³  ν™•μ‹ ν•©λ‹ˆλ‹€.

이λ₯Ό μ‹€ν˜„ν•˜κΈ° μœ„ν•œ 도전 κ³Όμ œλŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

  • 이전 ν”„λ‘œμ νŠΈ 파일 ꡬ문 뢄석(v0.7.xμ—μ„œ 이미 μ™„λ£Œ)
  • paket μ‚¬μš©(AFAIK, paket은 이미 "이전" ν”„λ‘œμ νŠΈ 파일과 ν•¨κ»˜ μž‘λ™ν•˜λ©° VS 2015도 paket을 μ§€μ›ν•©λ‹ˆλ‹€.)
  • Fable.Toolsλ₯Ό nuget에 따라 "도ꡬ λ””λ ‰ν† λ¦¬μ˜ κ²½λ‘œκ°€ PATH에 μΆ”κ°€λ©λ‹ˆλ‹€"라고 tools λ””λ ‰ν† λ¦¬μ˜ μ½˜μ†” 앱인 nuget νŒ¨ν‚€μ§€λ‘œ κ²Œμ‹œν•©λ‹ˆλ‹€.
question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ£„μ†‘ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ 이 μž‘μ—…μ— μ‹œκ°„μ„ ν• μ• ν•  μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€. 이전 ν”„λ‘œμ νŠΈ ν˜•μ‹μ„ μ§€μ›ν•˜λŠ” Fable 1.0에 관심이 μžˆλŠ” μ‚¬λžŒμ΄ 있으면 ν•΄λ‹Ή κΈ°λŠ₯을 직접 μž‘μ—…ν•΄μ•Ό ν•©λ‹ˆλ‹€. ν˜„μž¬μ˜ 도ꡬ μ„ΈνŠΈλ‘œ Fable을 μž‘λ™μ‹œν‚€λŠ” 것은 이미 μ–΄λ ΅κ³  λ„ˆλ¬΄ λ§Žμ€ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό λ‹€λ£¨κΈ°μ—λŠ” νŒ€μ΄ λ„ˆλ¬΄ μž‘μŠ΅λ‹ˆλ‹€. ν˜„μž¬ VS for WindowsλŠ” 아직 μƒˆλ‘œμš΄ .fsprojλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ” μœ μΌν•œ νŽΈμ§‘κΈ°μ΄λ©° 곧 지원할 μ˜ˆμ •μž…λ‹ˆλ‹€. 이전 ν˜•μ‹μ„ μ§€μ›ν•˜κΈ° μœ„ν•΄ 개발 λ¦¬μ†ŒμŠ€λ₯Ό ν• μ• ν•˜λŠ” 것은 λ…Έλ ₯ν•  κ°€μΉ˜κ°€ μžˆλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ πŸ˜•

이전 ν”„λ‘œμ νŠΈ 파일 ꡬ문 뢄석(v0.7.xμ—μ„œ 이미 μ™„λ£Œ)

이것은 μ†ŒμŠ€ 파일 및 비쑰건뢀 μ°Έμ‘°μ—μ„œλ§Œ μž‘λ™ν•˜λ―€λ‘œ μ‚¬μš©μžκ°€ λΌμ΄λΈŒλŸ¬λ¦¬μ— λŒ€ν•œ μ°Έμ‘°λ₯Ό μˆ˜λ™μœΌλ‘œ μΆ”κ°€ν•΄μ•Ό ν•œλ‹€λŠ” 점에 μœ μ˜ν•˜μ‹­μ‹œμ˜€.

νŒ¨ν‚· μ‚¬μš©

AFAIK, Paket은 이전 ν”„λ‘œμ νŠΈμ™€ ν•¨κ»˜ ν˜„μž¬ μ‚¬μš© 쀑인 .fsproj.references 파일이 μ•„λ‹Œ .fsproj에 λ§Žμ€ 쑰건뢀 ν•­λͺ©μ„ μ£Όμž…ν•˜μ—¬ μž‘λ™ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” μ™„μ „νžˆ λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ Paketκ³Ό μƒν˜Έ μž‘μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

데λͺ¬μ΄ 도ꡬ λ””λ ‰ν„°λ¦¬μ˜ μ½˜μ†” 앱인 Nuget νŒ¨ν‚€μ§€λ‘œ Fable.Tools κ²Œμ‹œ

λ‚˜λŠ” 이것을 μ‚¬μš©ν•œ 적이 μ—†μœΌλ―€λ‘œ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  6 λŒ“κΈ€

μ£„μ†‘ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ 이 μž‘μ—…μ— μ‹œκ°„μ„ ν• μ• ν•  μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€. 이전 ν”„λ‘œμ νŠΈ ν˜•μ‹μ„ μ§€μ›ν•˜λŠ” Fable 1.0에 관심이 μžˆλŠ” μ‚¬λžŒμ΄ 있으면 ν•΄λ‹Ή κΈ°λŠ₯을 직접 μž‘μ—…ν•΄μ•Ό ν•©λ‹ˆλ‹€. ν˜„μž¬μ˜ 도ꡬ μ„ΈνŠΈλ‘œ Fable을 μž‘λ™μ‹œν‚€λŠ” 것은 이미 μ–΄λ ΅κ³  λ„ˆλ¬΄ λ§Žμ€ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό λ‹€λ£¨κΈ°μ—λŠ” νŒ€μ΄ λ„ˆλ¬΄ μž‘μŠ΅λ‹ˆλ‹€. ν˜„μž¬ VS for WindowsλŠ” 아직 μƒˆλ‘œμš΄ .fsprojλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ” μœ μΌν•œ νŽΈμ§‘κΈ°μ΄λ©° 곧 지원할 μ˜ˆμ •μž…λ‹ˆλ‹€. 이전 ν˜•μ‹μ„ μ§€μ›ν•˜κΈ° μœ„ν•΄ 개발 λ¦¬μ†ŒμŠ€λ₯Ό ν• μ• ν•˜λŠ” 것은 λ…Έλ ₯ν•  κ°€μΉ˜κ°€ μžˆλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ πŸ˜•

이전 ν”„λ‘œμ νŠΈ 파일 ꡬ문 뢄석(v0.7.xμ—μ„œ 이미 μ™„λ£Œ)

이것은 μ†ŒμŠ€ 파일 및 비쑰건뢀 μ°Έμ‘°μ—μ„œλ§Œ μž‘λ™ν•˜λ―€λ‘œ μ‚¬μš©μžκ°€ λΌμ΄λΈŒλŸ¬λ¦¬μ— λŒ€ν•œ μ°Έμ‘°λ₯Ό μˆ˜λ™μœΌλ‘œ μΆ”κ°€ν•΄μ•Ό ν•œλ‹€λŠ” 점에 μœ μ˜ν•˜μ‹­μ‹œμ˜€.

νŒ¨ν‚· μ‚¬μš©

AFAIK, Paket은 이전 ν”„λ‘œμ νŠΈμ™€ ν•¨κ»˜ ν˜„μž¬ μ‚¬μš© 쀑인 .fsproj.references 파일이 μ•„λ‹Œ .fsproj에 λ§Žμ€ 쑰건뢀 ν•­λͺ©μ„ μ£Όμž…ν•˜μ—¬ μž‘λ™ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” μ™„μ „νžˆ λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ Paketκ³Ό μƒν˜Έ μž‘μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

데λͺ¬μ΄ 도ꡬ λ””λ ‰ν„°λ¦¬μ˜ μ½˜μ†” 앱인 Nuget νŒ¨ν‚€μ§€λ‘œ Fable.Tools κ²Œμ‹œ

λ‚˜λŠ” 이것을 μ‚¬μš©ν•œ 적이 μ—†μœΌλ―€λ‘œ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” μ—¬κΈ°μ„œ 잘λͺ»λœ "문제"λ₯Ό λ§Œλ“€μ—ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 이것은 μ§ˆλ¬Έμ΄μ—ˆμ„ κ²ƒμž…λ‹ˆλ‹€ :λ―Έμ†Œ:

λ‹€λ₯Έ μ›Œν¬ν”Œλ‘œμ— λŒ€ν•΄ 생각해보고 직접 μ‹œλ„ν•΄ 보고 μ‹Άμ—ˆμ§€λ§Œ 이둠상 μž‘λ™ν•˜λŠ” 데 무엇이 ν•„μš”ν•œμ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

dotnet pack κ²Œμ‹œλœ nuget νŒ¨ν‚€μ§€λŠ” net45μ—μ„œ μ‚¬μš©ν•  수 μ—†λŠ” 것이 λ§žμŠ΅λ‹ˆκΉŒ?

dotnet pack으둜 κ²Œμ‹œλœ nuget νŒ¨ν‚€μ§€λŠ” net45μ—μ„œ μ‚¬μš©ν•  수 μ—†λŠ” 것이 λ§žμŠ΅λ‹ˆκΉŒ?

μ•„λ‹ˆμš”, νƒ€κ²Ÿ 쀑 ν•˜λ‚˜λ‘œ net45 을 νƒ€κ²ŸνŒ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@ctaggart λ°˜κ°‘μŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€!

@Zaid-Ajaj λ™μ•ˆ new sdk(μš°ν™”μ— μ‚¬μš©λœ μƒˆ fsproj)λŠ” mono/msbuild.exe/dotnet cli( fsharp.net.sdk >= 1.0.3 λΆ€ν„°)μ—μ„œ λ™μΌν•˜κ²Œ μž‘λ™ν•˜λ©° VS 2017μ—μ„œλŠ” 아직 μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
λ”°λΌμ„œ net45 λ₯Ό λŒ€μƒμœΌλ‘œ 지정할 수 μžˆμ§€λ§Œ(μƒˆ sdk btwλ₯Ό μ‚¬μš©ν•˜μ—¬ λ™μΌν•œ fsprojμ—μ„œ μ—¬λŸ¬ λŒ€μƒμ„ λŒ€μƒμœΌλ‘œ 지정할 수 있음) μ–΄μ¨Œλ“  VSμ—μ„œλŠ” μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. .net μ½”μ–΄κ°€ μ•„λ‹ˆλΌ μƒˆλ‘œμš΄ SDK 및 ν”„λ‘œμ νŠΈ ν˜•μ‹μ΄ λ¬Έμ œμž…λ‹ˆλ‹€.
였래된 SDKλŠ” 크둜슀 ν”Œλž«νΌ μ§€μ›μ—μ„œ 훨씬 더 λ§Žμ€ 문제이며 μœ μ§€ κ΄€λ¦¬μΈμ—κ²ŒλŠ” κ³ ν†΅μž…λ‹ˆλ‹€( @alfonsogarciacaroκ°€ λ§ν–ˆλ“―μ΄ ν”„λ‘œμ νŠΈ 정보λ₯Ό μ½λŠ” 것은 고톡 있음 )

VF# λ‘œλ“œλ§΅μ—μ„œ μ˜ˆμƒ λ‚ μ§œλŠ” VS 2017이 Visual F#의 μƒˆ SDKλ₯Ό μ§€μ›ν•˜λŠ” 7μ›” μ—…λ°μ΄νŠΈμž…λ‹ˆλ‹€.

λ”°λΌμ„œ 곧 μ“Έλͺ¨ μ—†κ²Œ λ˜λŠ” 였래된 SDK(두 가지 κ΅¬ν˜„μ„ μœ μ§€ν•˜κΈ° μœ„ν•œ 고톡)λ₯Ό μ§€μ›ν•˜κΈ° μœ„ν•΄ λ§Žμ€ μž‘μ—…μ„ ν•˜λŠ” λŒ€μ‹  7μ›”κΉŒμ§€ μž μ‹œ κΈ°λ‹€λ¦¬λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€(μš°ν™” 및 vscode/vsonmacκ³Ό 같은 νŽΈμ§‘κΈ°κ°€ μžˆλŠ” 크둜슀 ν”Œλž«νΌ 지원 atm은 ꡉμž₯ν•©λ‹ˆλ‹€). μƒˆ SDKλ₯Ό μ‚¬μš©ν•˜μ—¬ λ‚˜μ€‘μ— net4* VSλ₯Ό κ°œμ„ ν•˜μ‹­μ‹œμ˜€.

λ”°λΌμ„œ κ²°κ΅­ msbuild .net λŸ°νƒ€μž„(mono/vs/netcore)은 덜 μ€‘μš”ν•  것이며(thx to new sdk) μ•„λ§ˆλ„ μ‚¬μš©μžμ—κ²ŒλŠ” 투λͺ…ν•  κ²ƒμž…λ‹ˆλ‹€(Windows μ‚¬μš©μžμ—κ²ŒλŠ” 확싀함). κ·ΈλŸ¬λ‚˜ VS 지원이 μ—†λŠ” atm은 μ‹œκ°„μ„ λ³΄λ‚΄λŠ” 데 μ“Έλͺ¨κ°€ μ—†μŠ΅λ‹ˆλ‹€. , κ²½ν—˜(μœ μ €μš©)이 μ—°λ§ˆλ˜μ–΄μ•Ό ν•˜κ³  μœ μ§€λ³΄μˆ˜(μš°ν™”νŒ€μš©)κ°€ μ΅œμ†Œν™”λ˜μ–΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
μƒˆλ‘œμš΄ SDKκ°€ 도움이 λ˜μ§€λ§Œ μ‹œκ°„μ΄ 더 ν•„μš”ν•©λ‹ˆλ‹€. Old sdkλŠ” .net μ„Έκ³„μ—μ„œ μ–΄μ¨Œλ“  μ“Έλͺ¨κ°€ 없어지고 μžˆλŠ” μ‹œκ°„ μ‹±ν¬μž…λ‹ˆλ‹€.

@enricosada λ‚΄κ°€ 이 일을 ν•˜λ €κ³  μƒκ°ν•œ 주된 μ΄μœ λŠ” 초보자λ₯Ό μœ„ν•œ μ‹œμž‘ κ²½ν—˜μ„ κ°„μ†Œν™”ν•˜κΈ° μœ„ν•΄μ„œμž…λ‹ˆλ‹€. μ‚¬λžŒλ“€μ΄ ν˜„μž¬ 가지고 μžˆλŠ” 것(vs2015 μ΄ν•˜)을 μ‚¬μš©ν•˜μ—¬ μš°ν™”λ₯Ό 가지고 놀 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. μ €λŠ” μ§€κΈˆ dotnet 코어와 ν•¨κ»˜ vs μ½”λ“œλ₯Ό μ‚¬μš©ν•˜κ³  있으며 μ œλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이것은 λ‚΄ μ»΄ν“¨ν„°μ—μ„œ μ²˜μŒλΆ€ν„° μž‘λ™ν•˜λ„λ‘ 일련의 쒌절슀러운 μ‹œλ„λ₯Ό ν•œ ν›„μ˜€μŠ΅λ‹ˆλ‹€. λ‚΄ 컴퓨터에 VS2017을 μ„€μΉ˜ν•  μˆ˜λ„ μ—†μ—ˆμŠ΅λ‹ˆλ‹€. 이것이 λ‚΄κ°€ 이것에 λŒ€ν•΄ μƒκ°ν•˜κ²Œ λ§Œλ“  또 λ‹€λ₯Έ μ΄μœ μž…λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ κ·€ν•˜μ˜ ν”Όλ“œλ°±μ„ 읽은 ν›„ μƒˆ SDK에 개발 λ¦¬μ†ŒμŠ€λ₯Ό μ§‘μ€‘ν•˜λŠ” 것이 더 μ’‹κ³  쑰금 κΈ°λ‹€λ¦¬λŠ” 것이 κ°€μΉ˜κ°€ μžˆλ‹€λŠ” 데 λ™μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ‹œκ°„μ„ λ‚΄μ£Όμ…”μ„œ λ‹€μ‹œ ν•œ 번 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰