try-dotnet 은 ms가 뭔가 페이지도 만들어주고 오픈소스로 만들어놓고 정작 내부서비스 일부에만 쓰고있다
다른언어는 playground로 코드공유 자유롭게 다되게 만들어놨는데, MS는 다만들어놓고도 잘 안쓰려는게 뭔가 이악물고 커뮤니티 기여를 기다리는느낌? 인지라 뜯어봤다.
try/src/Microsoft.TryDotNet.WasmRunner at main · dotnet/try
눈에띄는 폴더를 발견한게, 러너라는 빈 화면의 페이지를 따로 만들어뒀길레 어떤역할인가 조사해보니 iframe을 박아두고 IL 바이너리를 보내주면 stdout을 받을수 있었다.
C# 코드를 컴파일하는역할은 따로 구성한거같은데 멀 어케해둔건지 추가조사가 필요하다.
이전에 작업한 naratteu/BlazorWASMScriptLoader 를 wasm-runner가 보조할수 있지 않을까 했으나, 기존에도 컴파일만 성공하면 실행은 큰문제가 아닌지라 별 도움은 못될거같다..
이정도 사항만 확보되도 재밋는걸 할수가 있었는데, 어떤식으로든 IL을 만들기만 하면, 인코딩해서 wasm러너에 실행시킬수 있는거였다.
try dotnet wasm runner postMessage
따라해볼수 있도록 파워쉘로 만든 DLL파일을 wasm-runner의 iframe을 가지고 실행하는 codepen을 만들었다.
댓글 0