dotnet watch
çµç±ãã®äœæ¥é ç®ã®ã¹ããŒã¿ã¹ã®æŽæ°ã«ã€ããŠã¯ã httpsïŒ//github.com/aspnet/blazor/issues/193ãåç §ããŠ
ä»ã®ãšããã dotnet watch run
ã䜿çšããŠãå€æŽãçºçãããã³ã«åã³ã³ãã€ã«ã§ããŸãã
ãããcsprojãã¡ã€ã«ã§äœ¿çšããã ãã§ãïŒ
<DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0" />
<Watch Include="**\*.cshtml"/>
0.2.0ã®ã©ã€ããªããŒãã§åé¡ãçºçãããããããå ç¢ãªèšèšãå®è¡ã§ããããã«ãªããŸã§ããã移åããŸãã
ããã«ã¡ã¯ãç§ã¯Macã§dotnet sdk2.2.100-preview1-009349ãšblazor0.5.1ã䜿çšããŠããŸãã
ãdotnetblazorserveãã䜿çšããã©ã€ããªããŒãã¯æ©èœããŸããã cshtmlãã¡ã€ã«ã®htmlããŒã¯ã¢ãããå€æŽãããšãã¢ããªã¯ããèªäœããªããŒããããæåã§ãã©ãŠã¶ãŒããªããŒãããåŸããã¢ããªã¯å€ãhtmlã³ã³ãã³ãã衚瀺ããŸãã ã©ãããã°ããã解決ã§ããŸããïŒ
@ danroth27 ã httpsïŒ //github.com/aspnet/AspNetCore/issues/4056ãšã¯äœã§ããïŒ ããã¯éããããã¹ãã§ããïŒ
ããã€ãã®è³ªåïŒ
1ãã®ãã©ãã¯ã¯ããµãŒããŒåŽã®ãã¬ã€ã¶ãŒãšã¯ã©ã€ã¢ã³ãåŽã®ãã¬ã€ã¶ãŒã®äž¡æ¹ã®ã©ã€ããªããŒãã远跡ããŸããïŒ
ãã®ãã©ãã¯ã¯ããµãŒããŒåŽã®ãã¬ã€ã¶ãŒãšã¯ã©ã€ã¢ã³ãåŽã®ãã¬ã€ã¶ãŒã®äž¡æ¹ã®ã©ã€ããªããŒãã远跡ããŸããïŒ
ã¯ã
ã©ã€ããªããŒãã¯ãã©ã€ããªãªãŒã¹ïŒã€ãŸãããããã³ã¢3.0ïŒã§åºè·ãããŸããïŒ
.NET Core 3.0ã®å Žåããã¡ã€ã«ã®å€æŽã«åºã¥ãèªååæ§ç¯ããµããŒãããäºå®ã§ããããã©ãŠã¶ãŒãæåã§æŽæ°ããå¿ èŠããããŸãã
ã©ã€ããªããŒãã¡ã«ããºã ã¯ããŒãžã®ç¶æ ã倱ããŸããïŒã€ãŸããf5ãªãã¬ãã·ã¥ãšåçïŒãJavaScriptã©ã³ãã®ãããã¢ãžã¥ãŒã«çœ®æãšåæ§ã«åäœããŸããïŒã€ãŸããå€æŽãããã³ã³ããŒãã³ãUIã®ã¿ãåã¬ã³ããªã³ã°ãããŸããïŒ åŸè ã®å ŽåãæŽæ°éã§ã¯ã©ã€ã¢ã³ãã®ã³ã³ããŒãã³ãã®ç¶æ ãä¿æããã¡ã«ããºã ã¯ãããŸããïŒ
çŸåšãã¯ã©ã€ã¢ã³ãã®ç¶æ ãç¶æããæ¹æ³ã§ãããã¢ãžã¥ãŒã«ã®äº€æããµããŒãããèšç»ã¯ãããŸããã
çŸåšãã¯ã©ã€ã¢ã³ãã®ç¶æ ãç¶æããæ¹æ³ã§ãããã¢ãžã¥ãŒã«ã®äº€æããµããŒãããèšç»ã¯ãããŸããã
å°ãªããšããèªåçã«ã§ã¯ãããŸããã çè«çã«ã¯ãReduxã®ãããªã¢ãŒããã¯ãã£ããŸãã¯ç¶æ ã衚瀺ããå³å¯ã«åé¢ãããã®ä»ã®ã¢ãŒããã¯ãã£ã«åŸãå Žåã¯ãã¢ã³ããŒãããåã«ãã®ç¶æ ãã·ãªã¢ã«åããŠããªããŒãæã«åŸ©å ã§ããŸãã ãã ããããã¯æ©èœãšããŠçµã¿èŸŒãããšãèšç»ããŠãããã®ã§ã¯ãããŸããã誰ãããã®çš®ã®ã¢ãŒããã¯ãã£ã«åŸãããšãæãã§ããããã§ã¯ãªãããã§ãã
次ã«ãã¢ã³ããŒãããåã«ãã®ç¶æ ãã·ãªã¢ã«åãããªããŒãæã«åŸ©å ã§ããŸãã
ããããšãã æºåãã§ããããããã容æã«ããããã«ãèšèšã§æäŸãããŠããé©åãªããã¯ïŒã¢ã³ããŒã/ãªããŒããªã©ã®åïŒãææžåã§ããŸããïŒ å®è£ /ãã«ããŒnugetããã±ãŒãžããå§ããŠããã®ãã¿ãŒã³ãå¿ èŠãªäººã®ããã«æå¹ã«ããããšæããŸãã
dotnet watch run
ãæ©èœãããããšãã§ããŸããã§ããã次ã®ãªãã·ã§ã³ããã®ä»ã®ãªãã·ã§ã³ãè©ŠããŠã¿ãŸãããã
dotnet watch --project "Portfolio.Client" run --project "Portfolio.Server"
nodemon
ã䜿çšãã次ã®å€§ãŸããªè§£æ±ºçã«ãªããŸããïŒ
npx nodemon --watch "Portfolio.Client" -e razor,css,html,cs --exec 'dotnet run --project "Portfolio.Server"'
ç§ã¯èµ°ãã¯ãã ãšæã£ãïŒ
dotnet watch --project BlazorTest.Client run
ããããããã¯ç§ã«ãšã©ãŒãäžããŸããã
䜿çšããå ŽåïŒ
dotnet watch --project BlazorTest.Server run
ãããžã§ã¯ãã®BlazorTest.Server.csprojãã¡ã€ã«ã«ã¯æ¬¡ã®ãã®ããããŸãã
<ItemGroup>
<Watch Include="..\**\*.razor" />
<Watch Include="..\**\*.scss" />
<Watch Include="..\**\*.cs" />
</ItemGroup>
BlazorTest.Clientãããžã§ã¯ãã®å€æŽãååŸããŠãµãŒããŒãåèµ·åããããããã©ãŠã¶ãŒã§æåã§æŽæ°ããã ãã§æžã¿ãŸããã
BlazorTest.Clientãããžã§ã¯ãã®å€æŽãååŸããŠãµãŒããŒãåèµ·åããããããã©ãŠã¶ãŒã§æåã§æŽæ°ããã ãã§æžã¿ãŸããã
ããã¯ã css, html
å€æŽããããã³ã«ãµãŒããŒãåèµ·åããããšãæå³ããŸããïŒ
@dazinator ãã¯ã:-)
..確èªããã ãã§å€§ââäžå€«ã§ãããããã¯æªãããšã§ãããïŒ ã€ãŸãããã©ãŠã¶ã®æŽæ°ïŒãã£ãã·ã¥ãç¡å¹ã«ããç¶æ ïŒã§ååãªã®ã§ãhtmlãŸãã¯cssãã¡ã€ã«ã®å€æŽã«ã¯ãµãŒããŒã®åèµ·åã¯äžèŠã§ããïŒ
ããªãã¯æ£ããã§ããããã¯å¿
èŠã§ã¯ãããŸããã <ItemGroup>
å
ã§ãé¢å¿ã®ãããã¡ã€ã«æ¡åŒµåãè¿œå ãŸãã¯åé€ããã ãã§ãã æ··ä¹±ãé¿ããããã«ç§ã®çããæŽæ°ããŸããã
ãããã¯ããå€ããŠããå Žåã¯ç³ãèš³ãããŸããããä»ããVisual Studioããã©ã€ããªããŒãããæ¹æ³ã¯ãããŸããïŒBlazorã¯ã©ã€ã¢ã³ãåŽïŒïŒ çŸåšãwwwrootãã¡ã€ã«ãé€ããã¹ãŠã®å€æŽã«ã€ããŠããããžã§ã¯ãããã«ããïŒCtrl Shift BïŒããã©ãŠã¶ãŒããªããŒãããå¿ èŠããããŸãã VSãå€æŽã®ä¿åã«åºã¥ããŠèªåãã«ãã§ãããšãããçŽ æŽãããã§ãããã
@datvmãµãŒããŒåŽã®Blazorãããžã§ã¯ãã§ãããæå¹ã«ããŸããããã¯ã©ã€ã¢ã³ãåŽã®Blazorãããžã§ã¯ããšRazorã¯ã©ã¹ã©ã€ãã©ãªã§ãããå床æå¹ã«ããããã«ãããã€ãã®äœæ¥ãè¡ãå¿ èŠããããŸãã çŸåšã.NET Core 3.0ã®åºè·ã«éç¹ã眮ããŠãããããããã«å°éãããŸã§ã«ã¯å°ãæéããããã§ãããã
ã¯ã©ã€ã¢ã³ãåŽã§ã¯ããµãŒããŒã§äœããå€æŽããããšãã«ããŒãžå šäœãæŽæ°ããã ãã®æ©èœã䜿çšã§ããŸãã æ¥ç¥ãããªãã©ã°ã€ã³ïŒNetPackããã§ãã¯ã¢ãŠã-ãµã³ãã«ãããžã§ã¯ããå®è¡ãã/ BrowserReloadã®äŸã«ç§»åããŸãïŒ //github.com/dazinator/NetPack/blob/develop/src/NetPack.Web/Views/Home/BrowserReload.cshtml-ããããªããå©ãããããããŸããã ããã§ãªãå Žåã¯ãããã«äœ¿çšã§ãããœãªã¥ãŒã·ã§ã³ãåŸ ã€ããšãã§ããªãå Žåã«ããµãŒããŒåŽã®ãã¡ã€ã«å€æŽã«åºã¥ããŠã¯ã©ã€ã¢ã³ãåŽã®ããŒãžã®ãªããŒããããªã¬ãŒããããã®ä»ã®ãœãªã¥ãŒã·ã§ã³ããããŸãã
解決çãããããšããå®éã«ã¯ä»ã®èª°ãã«åœ¹ç«ã€ãããããŸããã ç§ã«ãšã£ãŠãããã¯QoLã®æ¹åã§ãããéèŠãªããšã§ã¯ãããŸããã ããã§ã補åãšèª°ããè²»ãããŠããåªåã倧奜ãã§ããCtrlShiftBãããã«æŒããšïŒä»ã¯ïŒããŸããããŸãã
ç§ã®ãœãªã¥ãŒã·ã§ã³ã¯çŸåšæ¬¡ã®ããã«ãªã£ãŠããŸãïŒ
ãã©ãŠã¶ãéãããŒããšãã¹ãåã§ãã©ã¡ãŒã¿åãããlaunchsettings.jsonã«ãã£ãŠéå§ãããå¥ã®exeBlazorDebugLauncherããããŸãã
ãããã
誰ããèå³ãæã£ãŠãããªããç§ã¯ãããã©ããã«çœ®ãããšãã§ããŸã...
@AdmiralSnyderå ±æãããå Žåã¯ããã²ã芧ãã ããã
ãã§ãã¯ã¢ãŠããã䟡å€ããããŸãïŒ //github.com/RickStrahl/Westwind.AspnetCore.LiveReload
ãããç§ã®è§£æ±ºçã§ãã å°ãããããŒã§ãããæ©èœããŸãïŒ https ïŒ
ïŒæ¥é±ã¯ã¯ãªãŒã³ã¢ããããŠreadmeãè¿œå ããŸãâŠïŒ
@dazinatorããŸããŸèŠãŠã¿ãŸãããïŒ
@AdmiralSnyderèŠãŠãå
±æããŠãããŠããããšãããããã¬ãŒãæ¥ç¶ããŠãããã©ããã確èªããããšæã£ãŠããŸãã
ç§ã¯ãã©ãŠã¶ã®ãªããŒãã®ããã«ãã®ã¢ãããŒãã«èœã¡çããŸããïŒããã¯åœç¶ã®ããšãªããç§èªèº«ã®ã©ã€ãã©ãªã§ãïŒ https://github.com/dazinator/NetPack/blob/develop/src/NetPack.Web.Blazor.Host/Startup.cs-å®è¡ãããŸãå€éšããã»ã¹ãèµ·åããã®ã§ã¯ãªããã¢ããªèªäœã®å
éšã§ãŠã©ããã£ãŒãèµ·åãïŒIFileProviderã䜿çšïŒãã·ã°ãã«rãšBlazorã¬ã€ã¢ãŠãã«è¿œå ããBlazorã¯ã©ã€ã¢ã³ãåŽã³ã³ããŒãã³ãã䜿çšããŠãªããŒããããªã¬ãŒããŸãã ããã¯preview6ã§ããŸãæ©èœããŠããããŸããªãpreview7ã«ã¢ããã°ã¬ãŒãããŠãåŒãç¶ãæ©èœããããšãé¡ã£ãŠããŸã:-)
ãããããªæ©èœããããžã§ã¯ãã«åãå ¥ããããããŸããã§ããã å€éšããã»ã¹ã䜿çšããã«ãã©ã®ããã«ããŠdetach-rebuild-restart-reattachã®ã£ãããã®ã£ããããŸããïŒ
ãããããªæ©èœããããžã§ã¯ãã«åãå ¥ããããããŸããã§ãã
å³å¯ãªæå³ã§ãããããããžã§ã¯ãã«æã¡èŸŒãå¿ èŠã¯ãããŸããã ããšãã°ãã³ã³ãã€ã«ã·ã³ãã«ã®æ¡ä»¶ãå«ãããã±ãŒãžåç §ãå«ããããšãã§ãïŒã€ãŸããdebug = trueïŒãã¹ã¿ãŒãã¢ããã³ãŒããã³ã³ãã€ã«ãã£ã¬ã¯ãã£ãã«å ¥ããããšãã§ããŸãïŒ#if debugïŒ-ãããŠä»ãã¢ããªããªãªãŒã¹ã¢ãŒãã§å®è¡ãããšãèšèšæã®ããã±ãŒãžãŸãã¯ã³ãŒããå«ãŸããŠããŸãã
å€éšããã»ã¹ã䜿çšããã«ãã©ã®ããã«ããŠdetach-rebuild-restart-reattachã®ã£ãããã®ã£ããããŸããïŒ
VSãããã¹ããããžã§ã¯ããå®è¡ããŠããããããã¹ãããã»ã¹ãåæ¢ããããã¿ãããããããããšãªããå¿ èŠã«å¿ããŠåç §ãããBlazorã¯ã©ã€ã¢ã³ããããžã§ã¯ããåæ§ç¯ã§ããŸãïŒnetpackã¯Blazorãããžã§ã¯ãIFileProviderãç£èŠããŸãïŒã ãã®ã£ããããããã®ã¯ãïŒBlazorã¯ã©ã€ã¢ã³ãã§ã¯ãªãïŒãã¹ãã¢ããªã±ãŒã·ã§ã³èªäœã«ã³ãŒããå€æŽããå¿ èŠãããå Žåã®ã¿ã§ãã ãã®å Žåããã®æåŸã®åé¡ã解決ãããã®ã§ããã€ããç·šéããŠç¶è¡ããåã³æ©èœããããšãå¿ããé¡ã£ãŠããŸãã ãã ããããããªããã°ãç§ã®ã¢ãããŒãã«ã¯2ã€ã®ãªãã·ã§ã³ããããŸãã
dotnet run watch
ã䜿çšããŠããããããã¬ãŒãæåã§æ¥ç¶ããŸãïŒèŠçïŒdotnet watch
ã䜿çšããåæ§ç¯ã«çŽ10ç§ããããŸãã ã€ã³ã¯ãªã¡ã³ã¿ã«ãã«ããé«éåããèšç»ã¯ãããŸããïŒ ã³ã³ããŒãã³ããå埩åŠçããå Žåãããã¯ããªãèŠçã§ãã
ãã¿ããã®ã³ã³ããŒãã³ãã®æ§ç¯ã«å€ãã®æéãè²»ããããŠããããã«èŠããŸãããããã¯ãããã®æ§ç¯æéãç·åœ¢ã«ã¹ã±ãŒãªã³ã°ããããšãæå³ããŸããïŒ ïŒããè€éãªã¢ããªã®æ§ç¯ã«ã¯30ç§ä»¥äžããããŸããïŒïŒ
ã€ã³ã¯ãªã¡ã³ã¿ã«ãã«ããé«éåããèšç»ã¯ãããŸããïŒ ã³ã³ããŒãã³ããå埩åŠçããå Žåãããã¯ããªãèŠçã§ãã
ãããã¯ã©ã€ã¢ã³ãåŽã®Blazorã§ããå Žåã¯ããããã°ãã«ãã®ãªã³ã¯ãç¡å¹ã«ããããšãæ€èšããŠãã ããã
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<BlazorLinkOnBuild>false</BlazorLinkOnBuild>
</PropertyGroup>
èªååæ§ç¯ãšèªåæŽæ°ã«ã€ããŠæ··ä¹±ããŠããæ°äººã®äººãšè©±ãããŸããã
ããã¯äž»ã«ãVisual Studioã§ã³ãŒããå€æŽãããšãèªååæ§ç¯æ©èœãèµ·åãããã©ãŠã¶ãŒã§ãäœãããçºçããŠããããšããããããã§ãã ããã¯ãã©ã€ããªããŒãã®è©Šã¿ãšééãããããšããããããŸãã
次ã«ïŒsignal-ræ¥ç¶ãå€ãç¶æ
ã«åæ¥ç¶ã§ããªãããïŒãããµãŒããŒãžã®åæ¥ç¶ã«å€±æããŸããããšããã¡ãã»ãŒãžã衚瀺ãããŸãã ãšã©ãŒã ãã ããBlazorãåããŠäœ¿çšããå Žåã¯ãã·ã¹ãã ãèªåæŽæ°ãè©Šã¿ãããã§ããã倱æããŸããããã¯æªãçµéšã§ãã
ã©ã€ããªããŒãæ©èœã«ã¯ETAããªãã®ã§ããã«ããåå ã§æ¥ç¶ãåæãããå Žåãèªååæ¥ç¶ãè©Šè¡ããªãããšã¯å¯èœã§ããïŒ ãŸãã¯ãå°ãªããšãããè¯ããšã©ãŒã¡ãã»ãŒãžã衚瀺ããã®ã§ãããµãŒããŒãžã®åæ¥ç¶ã«å€±æããŸãããã®ä»£ããã«ããã©ãŠã¶ã®æŽæ°ãã®ãããªãã®ã§ããïŒ
@chuckerã¯ããªã³ã«ãŒã®ãã³ããç¡å¹ã«ããŠãããŠããããšãã ããã¯ãã«ãããããã«äžåããŸããããã®åŸã®ãã©ãŠã¶ã®ãªããŒãã¯ã¯ããã«å€ãã®ç±Ÿæ®»ãããŠã³ããŒãããã®ã§ã¯ããã«é
ããªããŸã-å
šäœçã«ããã圹ã«ç«ã£ããã©ããã¯ããããŸãã:-)ãããç¥ã£ãŠãã䟡å€ããããŸãã
ïŒblazor client / wasmã®ïŒãããžã§ã¯ãã§blazorã®ãªããŒããå®è¡ãããŠããã®ãç¥ãããå Žåã¯ããã®ãããžã§ã¯ããããã§å®è¡ããŠãæå³ã確èªã§ããŸãïŒ https ïŒ
@Postlagerkarteåæ¥ç¶ãè©Šã¿ãŸãããããã»ã¹ããªãµã€ã¯ã«ããããšãµãŒããŒã®ç¶æ ã倱ããããããåæ¥ç¶ã¯å€±æããŸãã ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããããã«ããã®åéã§ããã€ãã®äœæ¥ãè¡ããŸããã Preview8ã¢ããŠã³ã¹ã®ããã°æçš¿ã®ãBlazorServerã¢ããªã®åæ¥ç¶ããžãã¯ã®æ¹åãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
@Postlagerkarteã¯preview8ã®ãšã©ãŒã¡ãã»ãŒãžãæ¹åããŸãã
ã©ã€ããªããŒãã®æé/ã¿ã€ã ã©ã€ã³ã«å¿ããŠãã³ã³ãã€ã«é床ãåäžãããããã«å¥ã®åé¡ãæ€èšãã䟡å€ããããŸããïŒ ãããããMVC / cshtmlã®åäœãšåæ§ã®ãã£ãã·ã¥æŠç¥ãä»ããŠïŒå€æŽããããã¥ãŒã®ã¿ãåã³ã³ãã€ã«ããããšæããŸãïŒïŒ ããã«æœåšçãªäœã¶ãäžãã£ãŠããæç©ã¯ãããŸããïŒ
çŸåšãå€æŽãå ããŠãããã©ãŠã¶ã«è¡šç€ºããããŸã§ã®10ç§ã®ãµã€ã¯ã«ã¿ã€ã ã¯éåžžã«å€§ããªåé¡ã§ãããåæ§ã®ã¢ããªã±ãŒã·ã§ã³èŠæš¡ã®WebpackããŒã¹ã®ãã©ãããã©ãŒã ãããå€§å¹ ã«å€§ãããªã£ãŠããŸãã ãããŠæ確ã«ããããã«ãç§ã¯ããã§ãµãŒããŒãµã€ããã¬ã€ã¶ãŒã«ã€ããŠè©±ããŠããã ãã§ãã
ã³ã³ãã€ã«é床ãåäžãããããã«å¥ã®åé¡ãæ€èšãã䟡å€ã¯ãããŸããïŒ
ã¯ãããã«ãæéãé ãå Žåã¯ããã«ãç°å¢ã®è©³çŽ°ã«ã€ããŠåé¡ãå ±åããŠãã ããã
ã³ã³ããŒãã³ãã«ãã€ããŒãªãhtmlã®ã¿ãã®å€æŽïŒããšãã°ãéçãªhtmlã³ã³ãã³ãã®å€æŽïŒãè¡ããšãã«ãBlazorã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³å šäœããªããŒãããïŒãã¹ãŠã®dllãåããŠã³ããŒãããïŒå¿ èŠãããã®ã¯...ããŸãæé©ã§ã¯ãããŸããã
ããŒã ã¯ãã®çµéšã®æ¹åã远跡ããããã«äœããæã£ãŠããŸããããããšãæ°ããåé¡ãéãå¿ èŠããããŸããïŒ
@dazinatoråé¡ã®ã¿ã€ãã«ããã¯ããŸãæ確ã§ã¯ãããŸãããããã®åé¡ã䜿çšããŠããããã¢ãžã¥ãŒã«ã®äº€æãšã©ã€ããªããŒãã远跡ããŠããŸãã ãã®åéã§ã¯ã.NET5ã®æéæ ã§è¡ãäºå®ã®æè³ããããããããŸãã
å人çã«ã¯F5ãæŒããŠãããŸããªãã®ã§ããããããªãªæ©èœãããããªããŒãããããšã¯èããŠããŸããã
ããããæµãã«å
¥ãã«ã¯ã
å€æŽã³ãŒããf5ãå€æŽã³ãŒããf5ãå€æŽã³ãŒãã¯ãŒã¯ãããŒã¯éåžžã«é«éã§ãïŒããããæå³ããŠããŸãïŒã æåã«ããã«åãçµãã§ãã ãã:)
ãµãŒããŒåŽã®Blazorãããžã§ã¯ãã§ãããæå¹ã«ããŸããããã¯ã©ã€ã¢ã³ãåŽã®Blazorãããžã§ã¯ããšRazorã¯ã©ã¹ã©ã€ãã©ãªã§ãããå床æå¹ã«ããã«ã¯ãããã€ãã®äœæ¥ãè¡ãå¿ èŠããããŸãã çŸåšã.NET Core 3.0ã®åºè·ã«éç¹ã眮ããŠãããããããã«å°éãããŸã§ã«ã¯å°ãæéããããã§ãããã
ããŸããŸãªGitHubã®åé¡ããåéã§ããã®ã¯ãã©ã€ããªããŒãã¯ãããã°ãªãã§å®è¡ããããµãŒããŒåŽã®Blazorã§ã®ã¿æ©èœãããšããããšã§ãïŒéçºè ã¯ããŒãžã匷å¶çã«æŽæ°ããå¿ èŠããããŸãïŒã ããã¯æ£ããã§ããïŒ ãã®ä»¶ã«é¢ããæ確ãªããã¥ã¡ã³ãã¯èŠã€ãããŸããã§ããã
çŸåšã®ãšãããASP.NET Coreãããžã§ã¯ãã®èªååæ§ç¯ããµããŒããããŠããŸãããã®å ŽåãVSã¯ãã¡ã€ã«ã·ã¹ãã ã®å€æŽãç£èŠãããããžã§ã¯ããèªåçã«åæ§ç¯ããŠåå®è¡ããŸãã ãããã¬ãŒãæ¥ç¶ãããŠããªãå Žåãããã³çŸåšã®ãããžã§ã¯ãå ã®ãã¡ã€ã«ã«å¯ŸããŠã®ã¿æ©èœããŸãïŒäŸåãããžã§ã¯ãã¯ç£èŠãããŸããïŒã
æ¥ç¶ã倱ãããçç±ããã«ãã§ãã£ãå Žåãèªååæ¥ç¶ã®è©Šè¡ãç¡å¹ã«ããããšã¯å¯èœã§ããïŒ ãŸãã¯ãéçºäžã«èªååæ¥ç¶ããŸã£ããç¡å¹ã«ããŸããïŒ åæ¥ç¶ã®è©Šã¿ã倱æããå Žåããã°ãçºçãããšã«ããF5ããŒãæŒãã®ã§ãããããåãé€ãããã ãã§ã:)
ã§ããããVSãèªåçã«åãé¢ããŠåæ¥ç¶ããã®ã¯ããªãç°¡åãªã¯ãã§ãããïŒ
ãããã°ã䜿çšããŠBlazorãµãŒããŒã¢ããªã®ã©ã€ããªããŒãã®æçµçãªãœãªã¥ãŒã·ã§ã³ãå ¥æã§ããŸããïŒ
@ bansalankit2601 .NET5.0ã§å®è£ ãããäºå®
ãŠã©ããã£ãŒãdotnet watch run
ãšããŠå®è¡ããVSã䜿çšããŠã³ãŒããç·šéããŸãã ä¿åãããšãã³ãŒããåã³ã³ãã€ã«ããããã©ãŠã¶ãããã¯ãããŠããªããŒãããå¿
èŠããããšéç¥ãããŸãã
ç§ã¯F5ãæŒãã®ã«é£œããŠãç©äºã調æŽããŠããéVSã«ãšã©ãŸãã®ã奜ãã®ã§ã TamperMonkeyãæå©ããŸãïŒ
`` `// == UserScript ==
// @ nameããŒãžããªããŒãããŸã
// @namespace http://tampermonkey.net/
// @version 0.1
// @descriptionã¯äžçã
// @ authorããªã
// @match httpïŒ// localhost ïŒ5000 / *
// @ grantãªã
// == / UserScript ==
const reloader = () => {
if (document.body.innerText.indexOf("Reload the page") >= 0) document.location = document.location;
else setTimeout(reloader, 300);
}
console.log('Blazor reloader installed');
setTimeout(reloader, 300);
`` `
ã¹ã¯ãªãããhttpïŒ// localhost ïŒ5000 / *ã§å®è¡ã§ããããã«ããŸã
ããã¯ãµãŒããŒåŽã§æ©èœããŸãïŒ https ïŒ
ã¯ã©ã€ã¢ã³ãã¯200msããšã«ãµãŒããŒã«pingãå®è¡ããŸãã dotnet watch run
ããåã³ã³ãã€ã«ãããããã«ãµãŒããŒãããŠã³ãããšããã©ã°ãåãæ¿ãããããµãŒããŒã埩垰ãããšèªåçã«F5ã«ãªããŸãã
ãªããžããªã¯ç§ã«ã¯æ©èœããŸããã§ããããæ©èœããjavascriptã®åé¡ãéããŸããïŒå°ãªããšã3.0ã§ã¯ç§ã«ãšã£ãŠïŒ
çŸåšã®ãã©ã€ããªããŒããã®ç¶æ³ã¯ïŒ ããã¯ãµããŒããããŠããŸããïŒãã©ãŠã¶ã«F5ãªãã§ïŒïŒ
ããã§ãªãå Žåããã®æ©èœããªãªãŒã¹ããäºå®ã¯ãããŸããïŒ
ææ°ã®ã³ãã¥ããã£ã¹ã¿ã³ãã¢ããã®@moemarDavid Fowlerã¯ããããã次ã®ããŒãžã§ã³ã®èšç»ããããšèšã£ãŠããŸããããŸã äœãå®æœãããŠããŸããã https://youtu.be/bBc_NTUVtbE?list=PL1rZQsJPBU2St9-Mz1Kaa7rofciyrwWVx&t=5010
ããã«é¢ããææ°æ å ±ã¯äœã§ããïŒ ååã®æŽæ°ãã2.5ãæ...
ç§ãåãããšãåŸ ã£ãŠããŸãã
ããã¯ã2020幎11æã«äºå®ãããŠãã.NET 5ã§èšç»ãããŠããŸããããã§ã©ã®ãããªã¢ãããŒããåããããã«ã€ããŠã¯ããŸã å€ãã®è°è«ããããŸãã
BlazorãµãŒããŒãµã€ãã®å ŽåãåæãåŠçããã¡ã«ããºã ã䜿çš
@dharmaturtleã¯ã
javascript blazorã¯ã©ã€ã¢ã³ãããBlazor.defaultReconnectionHandler._reconnectionDisplay
ããªãŒããŒã©ã€ããããšãåæããã£ããããŠãµãŒããŒã®ãã§ãããéå§ãããµãŒããŒãåã³çšŒåããã®ãåŸ
ã€ããšãã§ããŸãã
å©ç¹ã¯ããµãŒããŒãåæãããŠããå Žåã«ã®ã¿èŠæ±ãããããšã§ãã
æ¬ ç¹ã¯ãã_ reconnectionDisplayãããã©ã€ããŒãã¡ã³ããŒã§ããããåç¥ã®ãšãã...ããã¯æªã§ãã
ç·©åçãšããŠãJavaScriptã³ãŒãã<environment include="Development">
ã§å²ã¿ãŸãã æ¬çªãµãŒããŒã§ã¯ããªãŒãããŸããã
æ°ååã«ãã®ãœãªã¥ãŒã·ã§ã³ã«åãæ¿ããŸããïŒ https ïŒ
å€æŽã.htmlã.cssããŸãã¯.jsãã¡ã€ã«ã«ããå ŽåããµãŒããŒã«ç¶ç¶çã«pingãå®è¡ããããšã¯ãªãã.slnå šäœãåã³ã³ãã€ã«ããããšããããŸããã ããŒãžããªããŒãããã ãã§ããããã¯ãã°ãããããšã§ãã
äžèšã®ã¢ãããŒããšã¯å°ãç°ãªãå¥ã®äŸãããã«ãªã³ã¯ããã ãã§ãã ãããžã§ã¯ããå®è¡ããã ãã§ããã¯ã©ã€ã¢ã³ãã®wasmãããžã§ã¯ãã§dotnetãŠã©ããã䜿çšããå¿ èŠã¯ãããŸããã ã¯ã©ã€ã¢ã³ãwasmã®wwwrootãã©ã«ããŒã«ããcssãhtmlããŸãã¯jsãã¡ã€ã«ãå€æŽãããšãããã«åèªã¿èŸŒã¿ãããŸãã ãã¿ãããã¡ã€ã«ãªã©ã®ã¯ã©ã€ã¢ã³ãwasmãããžã§ã¯ãã®ã³ãŒããå€æŽãããšãåæ§ç¯ããŠãããªããŒãããŸããstartup.csã§ãããå¶åŸ¡ã§ãããããä»ã®ãœãªã¥ãŒã·ã§ã³ãšã¯å°ãç°ãªããŸãã ãããžã§ã¯ãã§ååŠçããå¿ èŠã®ããJavaScriptãŸãã¯ãã®ä»ã®éçãã¡ã€ã«ããŸã 䜿çšããŠããå Žåã¯ãSystemJS HMRãããŒã«ã¢ãããªã©ãåããªããžããªå ã§åœ¹ç«ã€å¯èœæ§ã®ããä»ã®äŸãèŠã€ããããšãã§ããŸãã
https://github.com/dazinator/NetPack/blob/develop/src/NetPack.Web.Blazor.Host/Startup.cs
å®è¡æã«ãã¿ããã®ã³ã³ããŒãã³ããã³ã³ãã€ã«ããã©ã€ãã©ãªãäœæããŸããã
ããã«å¯Ÿå¿ããŠããããã¢ãžã¥ãŒã«ã®äº€æããããŸãããã®æ©èœã䜿çšãããšãã³ãŒããå€æŽããŠããã©ãŠã¶ã§ããã«å€æŽã確èªã§ããŸãã Roslynã³ã³ãã€ã©ã䜿çšããŠblazorã§åæ§ã®æ©èœãäœæã§ããŸãã å®è¡æã«ãã¿ããã®ã³ã³ããŒãã³ããã³ã³ãã€ã«ãããã¡ã€ã«ãŠã©ããã£ãŒã䜿çšããŠãã¹ãŠã®ãã¡ã€ã«å€æŽã§WebSocketãæäŸããŸãã
ãã¿ãããšã³ãžã³ããŒãžã§ã³3ã䜿çšããŠãã³ã³ããŒãã³ããcïŒã¯ã©ã¹ã«ã³ã³ãã€ã«ããŸãã 次ã«ãRoslynã³ã³ãã€ã©ã䜿çšããŠããããã®ã¯ã©ã¹ãã¢ã»ã³ããªã«ã³ã³ãã€ã«ããŸããã æåŸã«ããªãã¬ã¯ã·ã§ã³ã䜿çšããŠã¢ã»ã³ããªããapp.razorã³ã³ããŒãã³ããããŒãããSteve Sanderson Testãã¹ãã§å€æŽãããã©ã€ãã©ãªã䜿çšããŠãã³ã³ããŒãã³ãããã¬ãŒã³HTMLã«å€æããŸããã HTMLãã¡ã€ã«ããªã¢ã«ã¿ã€ã ã§æäŸããããã«ãWebSocketã䜿çšããŠå šäºééä¿¡ãè¡ããŸããã
/ Previewã䜿çšãã代ããã«ã«ãŒããä¿®æ£ããŸããããã¯ããã¹ãŠã®HTTPãªã¯ãšã¹ãã³ã³ããã¹ãã«WebSocketã¯ã©ã€ã¢ã³ããæ¿å ¥ããããšã§å®è£ ã§ããŸãã
Blazor Webã¢ã»ã³ããªã§ã¯ããã©ãŠã¶ã§ã¢ã»ã³ããªãããŒãããã³ã¢ã³ããŒãã§ããŸããïŒ
2ã€ã®ãã«ããµãŒããŒã䜿çšããŠã1ã€ã¯é«éãã¬ãã¥ãŒçšããã1ã€ã¯å®éã®ããé·ããã«ãçšã®dotnetwatchãã«ããåãããµãŒããŒã§ãã
Blazor Webã¢ã»ã³ããªã§ã¯ããã©ãŠã¶ã§ã¢ã»ã³ããªãããŒãããã³ã¢ã³ããŒãã§ããŸããïŒ
ãœãŒã¹ïŒ https ïŒ
@martasp
Blazor Webã¢ã»ã³ããªã§ã¯ããã©ãŠã¶ã§ã¢ã»ã³ããªãããŒãããã³ã¢ã³ããŒãã§ããŸããïŒ
ããã¯ãblazor wasmã¢ããªãå®è¡ããã¢ãã©ã³ã¿ã€ã ã®ããŒãžã§ã³ã§ãããæ®å¿µãªãããïŒç§ã®ç¥ãéãïŒæ°ããAppDomainãäœæããããšã¯ã§ãããããã©ã«ãã®AppDomainããã¢ã»ã³ããªãã¢ã³ããŒãããããšãã§ããŸããã
ã¢ã»ã³ããªãé 延ããŒãã§ããŸããããã¯ãçŸåšãæåã®äœ¿çšæã«ã®ã¿ã³ã³ããŒãã³ãã¢ã»ã³ããªãåçã«ããŒãããŠããæ¹æ³ã§ãïŒæåã®ã¢ããªã®ããŒãæéãççž®ããããïŒããäžåºŠããŒããããšãæ°ããããŒãžã§ã³ãããŒãããå¯äžã®æ¹æ³ã¯ããããåãã¢ã»ã³ããªã®æ°ããããŒãžã§ã³ãåãAppDomainã«ããŒããããã¹ãŠã®åç §ããã®æ°ããããŒãžã§ã³ã«åãæ¿ããŸããå€ãããŒãžã§ã³ã¯ãã®ãŸãŸã«ããŠãããŸãããŸã è©ŠããŠããªãããããµããŒããããŠãããã©ããã¯ããããŸããã ããªããéè·¯ã§äœããªãã°; ãç¥ããäžããïŒ
ãã€ã®æ¥ããAssemblyLoadContextsãšAssembly.UnloadïŒïŒããµããŒããã代ããã«ããã©ãŠã¶ãŒã§.netã³ã¢ã©ã³ã¿ã€ã ãå®è¡ã§ããããã«ãªãããšãé¡ã£ãŠããŸãã
ããã«ã¡ã¯@ danroth27 ã
https://www.livesharp.net/ãèŠãããšããã
å®è¡äžã«ã³ãŒãã
Blazorããªã³ã¶ãã©ã€ã§ãŸãïŒãã ããé¢ããŠçŸåšã®ã«ãŒãã«æ»ãå¿
èŠããããŸãïŒã
ãŸããã«ãŒãå
ã®ã³ã³ãœãŒã«åºåããã¹ãã§ãããå®è¡äžã«çœ®ãæããããã·ã§ãŒã±ãŒã¹ã§ãã
ããã¯ç§ãæãçµéšã«éåžžã«è¿ãã§ãïŒ
çŽ æŽããã@warappa ã ã©ã®ããã«æ©èœããã®ã ãããïŒ ã¡ãœãããåçãããã·ã«çœ®ãæããããã€ãã®å¯èœãªã¡ã«ããºã ãèããããšãã§ããŸãã
ããããããã¯æ©èœããŸããéçºè
ãžã®ç§°è³ã ç§ããã®ãããªäœéšããããã®ã§ãããã§ããã°å¥ã®éçºãµãŒããŒããªããŠããVSã§[åç]ãã¯ãªãã¯ããããšããå§ãããŸãã
@dazinator LiveSharp Serverã¯ãæŽæ°ãããã³ãŒããã·ãªã¢ã«åããã¢ããªã±ãŒã·ã§ã³ã«éä¿¡ããŸãã 次ã«ãã¢ããªã±ãŒã·ã§ã³ã¯ãããåŒããªãŒã«éã·ãªã¢ã«åããæŽæ°ãããã¡ãœããã«æ¿å ¥ããŸãã å éšã§ã¯ããã«å€ãã®ããšãèµ·ãã£ãŠããŸãããããããã®èŠç¹ã§ãã
ã¡ãªã¿ã«ãLiveSharpãµãŒããŒã¯äžåºŠã ãèµ·åããå¿ èŠããããŸãã ãã®åŸãéåžžã©ããã«ã¢ããªãèµ·åããŸãã
ããã¯ãLiveSharpã䜿çšããã¹ããŒããã«BlazorããããªããŒãã®ãã¢ã§ãïŒ https ïŒ
å 責äºé ïŒç§ã¯LiveSharpã®äœè ã§ã
@ionoyã®ç§°è³ã¯ãããã§ã®çŽ æŽãããä»äºã§ãïŒ
ä»ã®ãšãããBlazorã®éçºçµéšã¯éåžžã«èŠçã§ãã ç·šéãåæ§ç¯ãæŽæ°ããããã°...
ãããä¿®æ£ããããŸã§ãæé¡9ãã«ãåãã§æ¯æããçç£æ§ãå°ãªããšã5ååäžãããŸãã
ãããèšèšãããšãã¯ãç§ãã¡å šå¡ãVisualStudioã䜿çšããŠããããã§ã¯ãªãããšãèæ ®ã«å ¥ããŠãã ããã ããããšã
@wocar LiveSharpã¯ãã§ã«ã¯ãã¹ãã©ãããã©ãŒã ã§ãããIDEã«äŸåããŠããŸããã ãããã£ãŠãçè«çã«ã¯notepad.exeã§äœ¿çšã§ããŸãã
@wocar VSã䜿çšããŠããªãå Žåã¯ã dotnet watch
ãæ€èšããŠãã ããïŒ //docs.microsoft.com/en-us/aspnet/core/tutorials/dotnet-watch
@ SteveSandersonMS-ééããªããåç¥ã®ããã«ã dotnet watch
ã¯ç¶æ
ã匷å¶çµäºããŸãã LiveSharpã¯ãå®éã«ã¯ãªããŒãã匷å¶ããã«å€æŽãããã·ã¥ãããããã€ã³ã¹ã¿ã³ããã£ãŒãããã¯ã«ãŒãã䜿çšããŠUIã埮調æŽã§ããŸãã ç§ã¯ããªããã¡ãããã«åçã®ãã®ãå®è£
ããããšãæ¬åœã«æãã§ããŸããããã¯åå®ã«å¿
èŠã§ãã
ã¯ãããã¡ããã ç§ã¯ãããLiveSharpãšåãã§ããããšã瀺åããŠããŸããã§ããã @wocarããªãã·ã§ã³ãèªèããŠããããšã確èªããã ãã§ãã
ããããšãã ãã§ã«LivesharpãããŠã³ããŒãããŠããŠãéåžžã«ããŸãæ©èœããŠããŸãããã®ãããªãã®ãå®è£ ãããããšãæãã§ããŸãã
誀解ããªãã§ãã ãããçããã¯çŽ æŽãããä»äºãããŸããããæ£çŽãªãã£ãŒãããã¯ãå¿ èŠãªå Žåã¯ãBlazorã®ãããã°ã¯é¢åã§ãã ç§ã¯ãããããããŠã©ããã䜿çšããŸããããããã¯ã¡ãã£ãšåäœãïŒé ãã§ãïŒãçç£æ§ã®ããã«äœ¿çšã§ããªããã¬ã€ã¶ãŒã䜿çšãããã»ã©ãããã°ã§ããŸããïŒå°ãªããšãRiderã§ã¯ïŒã ããã§ã代ããã«ãã¿ããã®ããŒãžã䜿ãç¶ããããšã«ããŸããã
ããããšãããããŸããã
ãã£ãŒãããã¯ãããããšãã@ wocarïŒ ããããªããŒããéèŠã§ããããšãç§ã¯ç¥ã£ãŠããŸãã ããã¯ç§ãã¡ã匷ãè¿œå ããããã®ã§ãããäžè¬çã«.NET5ã«å°å ¥ã§ããæ¹æ³ãæ€èšããŠããŸãã
ãããã°ã§ããŸããïŒå°ãªããšãRiderã§ã¯ïŒ
ãã§ã«ãåç¥ãããããŸããããããã§ãªãå Žåã¯ããã©ãŠã¶ã.NETãããã¬ãšããŠäœ¿çšããããšã§ãIDEã«äŸåããªãæ¹æ³ã§ãããã°ã§ããŸãïŒ https ïŒ
ãã§ã«ãåç¥ãããããŸããããããã§ãªãå Žåã¯ããã©ãŠã¶ã.NETãããã¬ãšããŠäœ¿çšããããšã§ãIDEã«äŸåããªãæ¹æ³ã§ãããã°ã§ããŸãïŒ https ïŒ
æ°ã¥ããªãã£ãããããšãã
ãã¿ããã®ããŒãžïŒ.cshtmlïŒã䜿çšããŠHTMLãå€æŽããå°ãªããšãF5ããŒãæŒããšãå€æŽã確èªã§ããŸãã Razorã³ã³ããŒãã³ãïŒ.razorïŒã§ãããäžå¯èœãªçç±
ç§ãããéãéçºãµã€ã¯ã«ãæã«å ¥ãããã§ãã Vueã§ããããªããŒããæ©èœããããã«ãªã£ãããå€æŽãå ããŠã1.0ã2.0ç§åŸã«ãã©ãŠã¶ãŒã§ç¢ºèªã§ããŠãšãŠãè¯ãã£ãã§ãã ä»ãç§ã¯ããã§ãã®ãããªãã®ã®å¿ èŠæ§ãç解ããŠããŸãã
dotnet watch run
ã¯ãããã§ã®éã®ãã®äžéšã«ãªããŸããããåçŽãªäžéã®çãããããŸãããããããããã«ããé«éåããŠã.razorãã¡ã€ã«ã ããå€æŽããããšãã«é«éã«ãªãæ¹æ³ããããŸããïŒ dbulicãäžã§è¿°ã¹ãããã«ãWebãã¹ããåèµ·åããŠããŒãžããªããŒãããå¿
èŠæ§ãåé¿ããããšã¯ã§ããŸãããããã«ãã20ç§ã§ã¯ãªã1ç§åŸ
ã€å¿
èŠããããŸãã
ãµãŒããŒã§å©çšå¯èœãª.cshtmlãã¡ã€ã«ã®å®è¡æã³ã³ãã€ã«ãšåæ§ã«ããã©ãŠã¶ãŒã§å®è¡ãããŠãã.razorãã¡ã€ã«ã®äžçš®ã®ãå®è¡æã³ã³ãã€ã«ãã«ãã£ãŠããã«å¯ŸåŠããèšç»ã¯ãããŸããïŒ ããšãã°ã.razorãã¡ã€ã«èªäœãïŒããªã³ã³ãã€ã«ãããã¢ã»ã³ããªã§ã¯ãªãïŒãã©ãŠã¶ã«çŽæ¥èªã¿èŸŒãŸããããã§ã³ã³ãã€ã«ããããµãŒããŒã§ç·šéãããå Žåãå€æŽããã.razorãã¡ã€ã«ããã©ãŠã¶ã«åããŒãããŠããã§åã³ã³ãã€ã«ã§ããŸããïŒ ç§ã¯ããã§cshtmlãšã®é¡äŒŒç¹ã奜ãã§ããããèæ ®ã«å ¥ããŠãããã¹ã§ãããã©ããçåã«æããŸãããïŒ
ããã¯ã2020幎11æã«äºå®ãããŠãã.NET 5ã§èšç»ãããŠããŸããããã§ã©ã®ãããªã¢ãããŒããåããããã«ã€ããŠã¯ããŸã å€ãã®è°è«ããããŸãã
ããã«ã¡ã¯@ danroth27 ãæ¹åæ§ã¯åœ¢ã«ãªã£ãŠããŸããïŒ ãŸã å ±æãããã®ããªãå ŽåãBuild 2020ã§äœãã衚瀺ãããå¯èœæ§ã¯ãããŸããïŒ
ããã«ã¡ã¯@mrlifeã äž»ã«BUILDã§ã®BlazorWebAssemblyãªãªãŒã¹ã«çŠç¹ãåœãŠãããšãæåŸ ããŠããŸãã ããããªããŒãã®ãµããŒãã¯ã.NET 5ã§æ€èšããäºå®ã§ãããããå®çŸããããã®å ·äœçãªæ¹åæ§ã¯ããŸã 決å®ãããŠããŸããã
ç§ã¯ãã®åé¡ã«ã€ããŠããèããŸãã æ¯æ¥ããã¿ãŒã³1ã䜿çšããŠããŸãããã¿ãŒã³2ã¯ããã¿ãŒã³1ãšæ¯èŒããå®éã®ãã©ãã€ã å€æŽã§ãã ããã«ããããã¿ãŒã³1ãçŽæ¥æ¹åããå Žåã«æ¯ã¹ãŠãæ¡çšã容æã«ãªããŸããã ãã¿ãŒã³3ãéæå¯èœãªãã®ã«è¿ãããšãé¡ã£ãŠããŸãã ãã¿ãŒã³4ã¯äžèšã®ã³ã¡ã³ãã«åºã¥ããŠã®ã¿éå¿çãªãã®ã ãšæããŸãããMAUIã§äœãå¯èœããèŠãåŸããã¿ãŒã³6ã¯æ¬åœã«è¯ãããã§ãã
ãã¿ãŒã³1ïŒç®±ããåºããŠçŸåšïŒïŒ
ãã¿ãŒã³2ïŒ dotnet watch run
ïŒïŒ
ãã¿ãŒã³3ïŒ
ãã¿ãŒã³4ïŒ
ãã¿ãŒã³5ïŒ MAUIããããªããŒããªã©ïŒïŒ
äœãéæå¯èœã§ããïŒ
dotnet watch run
çŸåšã®ãã¿ãŒã³ïŒ
ãã®åé¡ã¯ãBlazer ServerãšWeb Assemblyã®äž¡æ¹ã®ããããã«ã/ãªããŒãã远跡ããŠããŸããããããšãWeb Assemblyçšã«å¥ã®åé¡ããããŸããïŒ
ããã®ç¶æ³ã¯ã©ãã§ããïŒ çŸåšhttps://github.com/OYIon/LiveSharpã䜿çšããŠã
ããã¯ãã¹ãŠéåžžã«äžå¿«ã§ãã ãŸãã .dcprojãå¥ådocker-composeãããžã§ã¯ããããè¿ãå°æ¥ãäœããèµ·ããããšãé¡ã£ãŠããŸãã ã¯**èŠçã§ãã ã©ã€ãã¢ããããŒãã¯ãããŸãããç©äºã¯åžžã«èµ€ã§åŒ·èª¿è¡šç€ºãããã€ã³ããªã»ã³ã¹ã¯éåžžã«æ§ããã«ããæ©èœããŸããã
åªãããã¯ãããžãŒã«ã¯åªããããŒã«ãå¿ èŠã§ãã
ç©äºã¯åžžã«èµ€ã§åŒ·èª¿è¡šç€ºãããã€ã³ããªã»ã³ã¹ã¯éåžžã«æ§ããã«ããæ©èœããŸããã
ããã§ãåãã§ãããç§ã®åé¿çã¯æ¬¡ã®ãšããã§ãã
ããŒãªã³ã°ã¯åã³æ©èœããŸãã ããã1æ¥ã«æ°åè¡ããŸãã ãªãã¡ã¯ã¿ãªã³ã°ã§ã¯ã1æéã«æ°åã ã³ãŒããŒã¡ãŒã«ãŒãžã®æ è¡ãšçµã¿åãããŠã¿ãŠãã ãã
ç©äºã¯åžžã«èµ€ã§åŒ·èª¿è¡šç€ºãããã€ã³ããªã»ã³ã¹ã¯éåžžã«æ§ããã«ããæ©èœããŸããã
ããã¯é£ããããšã§ãããããã«å¯ŸããåçŸæé ã¯ãããŸããïŒ ããšãã°ãVSãŸãã¯VS Codeã®ç¹å®ã®ããŒãžã§ã³ã§ã誀ã£ãã€ã³ããªã»ã³ã¹ãŸãã¯ãšã©ãŒã確å®ã«çæãããå ±æã§ãããããžã§ã¯ãã³ãŒãããããŸããïŒ ç§ãã¡ã¯ééããªããã®ãããªåé¡ã远跡ããŠä¿®æ£ããããšæã£ãŠããŸãã
cc @ NTaylorMullen-ããã远跡ããããã«ããã§å®è¡ã§ãã蚺ææé ãç¥ã£ãŠããŸããïŒ
@SteveSandersonMS
ç°¡åïŒ
ïŒåããã¬ãã£ãã¯ã¹ãæã€ãã¡ã€ã«ãååãå€æŽãããŸãïŒ
éšåã¯ã©ã¹ã®ã¯ã©ã¹åãæŽæ°ããŸã
ä»ã®ã³ã³ããŒãã³ãã®åç §ãæŽæ°/ååå€æŽããŸãïŒæåãéåžžã«èŠéãããŠããããŒã«æ©èœïŒ
ãã«ãã¯ãŒã¯
å·¥å ·ãå£ããŠãã
.\vs
ãã©ã«ããåé€ããåŸvså埩ç©äºã¯åžžã«èµ€ã§åŒ·èª¿è¡šç€ºãããã€ã³ããªã»ã³ã¹ã¯éåžžã«æ§ããã«ããæ©èœããŸããã
ããã¯é£ããããšã§ãããããã«å¯ŸããåçŸæé ã¯ãããŸããïŒ ããšãã°ãVSãŸãã¯VS Codeã®ç¹å®ã®ããŒãžã§ã³ã§ã誀ã£ãã€ã³ããªã»ã³ã¹ãŸãã¯ãšã©ãŒã確å®ã«çæãããå ±æã§ãããããžã§ã¯ãã³ãŒãããããŸããïŒ ç§ãã¡ã¯ééããªããã®ãããªåé¡ã远跡ããŠä¿®æ£ããããšæã£ãŠããŸãã
cc @ NTaylorMullen-ããã远跡ããããã«ããã§å®è¡ã§ãã蚺ææé ãç¥ã£ãŠããŸããïŒ
è¿ä¿¡ããããšãããããŸããç§ã¯ãããç£èŠããŸãã JvanderStadããã§ã«äŸãšããŠç€ºããããã«ãããããçš®é¡ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ééããªãåé¡ããããŸãã ããã§ãªããã°ãä»ã®ãšãããã¿ãŒã³ãèŠãããšãã§ããŸããã§ããã
ããšãã°ã219è¡ã®ãã¡ã€ã«ãéãããšããã167ã®ã€ã³ããªã»ã³ã¹ãšã©ãŒãçºçããŸããã ã«ãŒã«ïŒCS0121 CS0229 CS1503
ã€ã³ããªã»ã³ã¹ã®åé¡ãåéããããã«ãè¿œå ã®githubåé¡ãäœæããããšã¯ããããæçšã§ããããïŒ ãŸãã¯ããã¯ãã§ã«ååšããŸããïŒ ãã®åé¡ã¯ééããªãééã£ãå Žæã ããã§ãã
è¿ä¿¡ããããšãããããŸããç§ã¯ãããç£èŠããŸãã JvanderStadããã§ã«äŸãšããŠç€ºããããã«ãããããçš®é¡ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ééããªãåé¡ããããŸãã ããã§ãªããã°ãä»ã®ãšãããã¿ãŒã³ãèŠãããšãã§ããŸããã§ããã
ããšãã°ã219è¡ã®ãã¡ã€ã«ãéãããšããã167ã®ã€ã³ããªã»ã³ã¹ãšã©ãŒãçºçããŸããã ã«ãŒã«ïŒCS0121 CS0229 CS1503ã€ã³ããªã»ã³ã¹ã®åé¡ãåéããããã«ãè¿œå ã®githubåé¡ãäœæããããšã¯ããããæçšã§ããããïŒ ãŸãã¯ããã¯ãã§ã«ååšããŸããïŒ ãã®åé¡ã¯ééããªãééã£ãå Žæã ããã§ãã
ã»ãŒã€ã³ããªã»ã³ã¹ããŒã¿ããŒã¹ãç ŽæããããèšèªãµãŒãã¹ãã¯ã©ãã·ã¥ãããããå ŽåãVSã®åèµ·ååŸãæç¶ããŸã
<entry>
<record>1268</record>
<time>2020/07/08 14:35:36.779</time>
<type>Error</type>
<source>Editor or Editor Extension</source>
<description>System.TimeoutException: The operation has timed out.
 at Microsoft.WebTools.Languages.Html.VS.ContainedLanguage.Server.DotNetCoreServerContainedLanguageSupport.OnIdle(Object sender, EventArgs e)</description>
</entry>
vsã®ä»£ããã«riderã䜿çšããŠããŠãéåžžã«ããŸãæ©èœããŠããããã§ãã ãŸããlivesharpãšåŒã°ãããã®ããŒã«ã䜿çšããŠããŸãããããã»ã©è¯ããä¿¡é Œæ§ããããŸããããä»äºã¯å®äºããåã³ã³ãã€ã«ããã«UIã®æŽæ°ãååŸã§ããŸãã
@ cubed-itãã®PowerShellã¯VisualStudioã匷å¶çµäºãã.vs \ãã©ã«ããŒãåé€ããŠããœãªã¥ãŒã·ã§ã³ãåèµ·åããŸãã å¿ èŠãªã³ãŒããŒããªãããå°ãªããªããŸãã
$start = New-Object Collections.Generic.List[string]
Write-Host "Looking for Visual Studio" -BackgroundColor DarkGreen
$devenvs = Get-CimInstance Win32_Process -Filter "name = 'devenv.exe'" | Select-Object CommandLine, ProcessId
foreach ($devenv in $devenvs) {
Write-Host $devenv
$index = $devenv.CommandLine.IndexOf("devenv.exe`" `"")
if ($index -eq -1)
{
Write-Host "No params" -BackgroundColor DarkRed
continue
}
$param = $devenv.CommandLine.Substring($index + 12).Trim()
$project = $param.Trim('"')
if ($project.Length -eq 0)
{
continue
}
#allowed project files
$slnTypes = New-Object System.Collections.Generic.HashSet[string]
[void]$slnTypes.Add(".sln")
[void]$slnTypes.Add(".slnf")
#
Write-Host "Project: $project"
$extension = [System.IO.Path]::GetExtension($project)
if (-not $slnTypes.Contains($extension))
{
Write-Host "No solution" -BackgroundColor DarkRed
continue;
}
$vsFolder = [System.IO.Path]::GetDirectoryName($project)
$vsFolder = "$vsFolder\.vs\"
if ([System.IO.Directory]::Exists($vsFolder) -eq $false)
{
Write-Host ".vs\ folder does not exist" -BackgroundColor DarkRed
continue
}
#we will restart later
[void]$start.Add($devenv.CommandLine)
#kill visual studio
Write-Host "Kill: $devenv" -BackgroundColor DarkGreen
Stop-Process -id $devenv.ProcessId -Force
#remove devenv folder
Write-Host "Removing: $vsFolder" -BackgroundColor DarkGreen
Remove-Item -Recurse -Force $vsFolder
}
foreach ($devenv in $start) {
$program = $devenv.Substring(0, $index + 11)
$arguments = $devenv.Substring($index + 12)
Write-Host "Starting: '$program'" -BackgroundColor DarkGreen
Write-Host "Arguments: '$arguments'" -BackgroundColor DarkGreen
Start-Process -FilePath $program -ArgumentList $arguments
}
VSã«åºå·ããã人ã¯ããã®æ¡åŒµæ©èœãåé¿çïŒ
ãã¿ããã®å·¥å ·ã«é¢ããŠãããªãã®ãã¹ãŠã®çã¿ãå®å šã«æããŠãã ããã ãããããããšã«ãããã¯.NET5ã®æéæ ã§å¯ŸåŠããããšããŠãããã®ã§ãã ãã®ããŒã«ãè©ŠããŠã¿ããå ŽåïŒçŸåšã¯éåžžã«å®éšçã§ãããšèŠåïŒãææ°ã®VSãã¬ãã¥ãŒãªãªãŒã¹ãããŠã³ããŒãããŠã次ã®ãã¬ãã¥ãŒæ©èœãã§ãã¯ããã¯ã¹ããªã³ã«ããããšãã§ããŸãïŒ[ããŒã«]-> [ãªãã·ã§ã³]-> [ç°å¢]-> [ãã¬ãã¥ãŒæ©èœ]ïŒã
ããã«ããããã®å·ã§èšåãããŠããRazorãšãã£ã¿ãŒã®åé¡ã®å€ãã解決ãããå¯èœæ§ãéåžžã«é«ããªããŸãã ããã¯èšã£ãŠããæ°ãããšãã£ã¿ãŒã«ã¯æ¢åã®ãšãã£ã¿ãŒãšæ¯èŒããŠããã€ãã®ã®ã£ãããšããã€ãã®æªããã°ãããããšã¯ããã£ãŠããŸããããããããªãã®ããŒãºã«ãšã£ãŠå šäœçã«è¯ãçµéšã§ãã£ããã©ããã«ãããããããã£ãŒãããã¯ãèããŠã¿ãããšæããŸãã
ææ°ã®VSãã¬ãã¥ãŒãªãªãŒã¹ãããŠã³ããŒããã
https://visualstudio.microsoft.com/vs/preview/
@NTaylorMullen RazorããŒã«ã«é¢ãããšã©ãŒããã°ã«èšé²ã§ããåé¡ã¯ãããŸããïŒ ææ°ã®ãã¬ãã¥ãŒã¯ãŸã£ããæ©èœããŸãã:(
@JvanderStadæ§æã¯"@(row => ...
ãªããã°ãªããªããšæããŸã
@JvanderStadæ§æã¯
"@(row => ...
ãªããã°ãªããªããšæããŸã
çŸåšã®ããŒãžã§ã³ã§ã¯æ£åžžã«åäœããŸã
@JvanderStadãããããªããè²ã«ã€ããŠè©±ããŠãããªããä»ã®å€ãã®ãã®ãšåæ§ã«ãããã¯çŸåšå£ããŠããŸã
https://devblogs.microsoft.com/aspnet/new-experimental-razor-editor-for-visual-studio/
ãããšã«ãºã®ããã°æçš¿ãèŠéããŸããã ç§ã¯ä»ãäœãæåŸ ããããç¥ã£ãŠããŸãã Thnx
@NTaylorMullen RazorããŒã«ã«é¢ãããšã©ãŒããã°ã«èšé²ã§ããåé¡ã¯ãããŸããïŒ ææ°ã®ãã¬ãã¥ãŒã¯ãŸã£ããæ©èœããŸãã:(
Ya CïŒã®ã»ãã³ãã£ãã¯ã«ã©ãŒåã¯ãæ°ãããšãã£ã¿ãŒã§ã¯ãŸã å®è£ ãããŠããŸããð
@ danroth27ã¢ãŒããã¯ãã£ãåå ã§ãblazor wasmã®ããããªããŒããé£ããå ŽåãblazorãµãŒããŒã®ããããªããŒãã§ããŸããããšæããŸããã ã¢ã€ãã¢ã¯ãéçºäžã«ãµãŒããŒã¬ã³ãã©ãŒãä»ããŠïŒblazor wasmãããžã§ã¯ãããïŒrazorã³ã³ããŒãã³ããã·ãŒã ã¬ã¹ã«ã¬ã³ããªã³ã°ããblazor wasmã®å±éãä¿èšŒããæçµæ®µéã®ãã¹ããšå®éã®wasmã¢ãã«ã§ã®å±éãè¡ããã¹ãŠã®äºææ§ãã§ãã¯ãç¶æããããšã§ãã
ããããªããŒãã®ã¢ããããŒãã¯ãããŸãããããã¯.net5ã«ãããŸããããããšããã§ã«ãã¬ãã¥ãŒã«ãããŸããïŒ
@ qin-guan .NET 5ã®ãªãªãŒã¹ã§ã¯æ®ãæéãéãããŠãããããããããªããŒãã¯èšç»ãããŠããŸããã .NET6ã®ããããªããŒããæäŸããããšèããŠããŸãã
@ danroth27 ahhhh booooooo !!
ããããåèŠããããæããç¡ç¥ãªæèŠãèš±ããŠãã ãããããããçç£æ§ã®åäžãããã©ãŒãã³ã¹ã®åäžã«åŸããåã£ãŠããããã«æããããšããããŸãïŒ
ããšãã°ããã®ãªãªãŒã¹ã§ããŒã«ã«å ãã250ã®çç£æ§ã®åäžã«ã€ããŠã®ããã°ãã芧ãã ããã
ç§ã®å人çãªèŠè§£ã§ã¯ãéçºè
ãå¿
èŠãªçç£çãªããŒã«ãã§ãŒã³ãå
¥æã§ããªãå Žåã競åä»ç€Ÿãæã¡è² ããã®ã«ååãªéãã§ãœãããŠã§ã¢ã解ãæŸã€ããšãã§ãããçµæãšããŠãã¢ããªã±ãŒã·ã§ã³ã¯ããããã¹ãŠã®çŽ æŽãããå
æ²¢ã®ããããã©ãŒãã³ã¹åŒ·åã®ã¡ãªããã享åããããã®åžå Žã ã§ãããããã®èŠ³ç¹ãããããšãå°ãæªåããŸãã
ãã ããããã©ãŒãã³ã¹ã®æ¹åã®å€èŠ³ã¯æ°ã«å ¥ã£ãŠããŸãã.NET6ã.NET 5ã«ããã»ã©é ããŠããªãããšãå¿ããé¡ã£ãŠããŸãããŸããBlazorã®çç£æ§ãä»ã®ãã¬ãŒã ã¯ãŒã¯ã«è¿œãã€ãå§ããŠããããšãããããŸãã
@ qin-guan .NET 5ã®ãªãªãŒã¹ã§ã¯æ®ãæéãéãããŠãããããããããªããŒãã¯èšç»ãããŠããŸããã .NET6ã®ããããªããŒããæäŸããããšèããŠããŸãã
ããã¯ãšãŠãæ²ããã§ããç§ã¯.net5ã®ããã«ãã®æ©èœãåŸ ã£ãŠããŸããððð
@dazinator @ buster95ç§ãã¡ã¯ããªãã®å€±æãå ±æããŸãïŒ ããããªããŒãã¯ã.NET 5ã§ããããããšã®ãªã¹ãã®äžçªäžã«ãããããã§ãããã¯ãã°ã®äžçªäžã«ãããŸãã åœåã¯.NETå šäœã§ã®ããåºç¯ãªããããªããŒãäœæ¥ã®äžéšã§ãããšäºæ³ãããŠããŸããããããã¯ãã¹ãŠ.NET 6ã«ããã·ã¥ãããŸãããããããªããŒããé©åã«è¡ãããšã¯é£ããåé¡ã§ããã€ãŸããå®è¡äžã®ã¢ããªãã§ããã ãæ©ãæŽæ°ããä¿¡é Œã§ããæ¹æ³ãèŠã€ããããšãæå³ããŸããå¯èœã§å¿ å®åºŠãé«ãã .NET 5ã§å©çšã§ããããããããŸãããã«ã¯ãã£ãšæéãããããŸãã
éçºè ã®çç£æ§ã®ããã«ãRazorãšãã£ã¿ãŒãå®å šã«å·æ°ããŠããŸããããã«ãããBlazoréçºã®çç£æ§æ©èœïŒãªãã¡ã¯ã¿ãªã³ã°ãdef / implãžã®ç§»åãã³ãŒãã¢ã¯ã·ã§ã³ãªã©ïŒã®ãã¹ãå šäœãæå¹ã«ãªããŸãã æ°ãããšãã£ã¿ãŒãä»æåãã«ãªãã·ã§ã³ã®ãã¬ãã¥ãŒæ©èœãšããŠå©çšã§ããããã«ããŸãããããããæ¥å¹Žåãã«ã¯ãããã©ã«ãã®Razorãšãã£ã¿ãŒã«ãªãäºå®ã§ãã
ãŸããCSSåé¢ãé 延èªã¿èŸŒã¿ãUIãã©ãŒã«ã¹ã®èšå®ãHTMLãããã®å€æŽããã¡ã€ã«ã¢ããããŒããä¿è·ããããã©ãŠã¶ãŒã¹ãã¬ãŒãžãä»®æ³åãªã©ã.NET5ã«ã¯ä»ã«ãå€æ°ã®Blazorãã¬ãŒã ã¯ãŒã¯æ©èœããããŸãã
@dazinator @ buster95ç§ãã¡ã¯ããªãã®å€±æãå ±æããŸãïŒ ããããªããŒãã¯ã.NET 5ã§ããããããšã®ãªã¹ãã®äžçªäžã«ãããããã§ãããã¯ãã°ã®äžçªäžã«ãããŸãã åœåã¯.NETå šäœã§ã®ããåºç¯ãªããããªããŒãäœæ¥ã®äžéšã§ãããšäºæ³ãããŠããŸããããããã¯ãã¹ãŠ.NET 6ã«ããã·ã¥ãããŸãããããããªããŒããé©åã«è¡ãããšã¯é£ããåé¡ã§ããã€ãŸããå®è¡äžã®ã¢ããªãã§ããã ãæ©ãæŽæ°ããä¿¡é Œã§ããæ¹æ³ãèŠã€ããããšãæå³ããŸããå¯èœã§å¿ å®åºŠãé«ãã .NET 5ã§å©çšã§ããããããããŸãããã«ã¯ãã£ãšæéãããããŸãã
éçºè ã®çç£æ§ã®ããã«ãRazorãšãã£ã¿ãŒãå®å šã«å·æ°ããŠããŸããããã«ãããBlazoréçºã®çç£æ§æ©èœïŒãªãã¡ã¯ã¿ãªã³ã°ãdef / implãžã®ç§»åãã³ãŒãã¢ã¯ã·ã§ã³ãªã©ïŒã®ãã¹ãå šäœãæå¹ã«ãªããŸãã æ°ãããšãã£ã¿ãŒãä»æåãã«ãªãã·ã§ã³ã®ãã¬ãã¥ãŒæ©èœãšããŠå©çšã§ããããã«ããŸãããããããæ¥å¹Žåãã«ã¯ãããã©ã«ãã®Razorãšãã£ã¿ãŒã«ãªãäºå®ã§ãã
ãŸããCSSåé¢ãé 延èªã¿èŸŒã¿ãUIãã©ãŒã«ã¹ã®èšå®ãHTMLãããã®å€æŽããã¡ã€ã«ã¢ããããŒããä¿è·ããããã©ãŠã¶ãŒã¹ãã¬ãŒãžãä»®æ³åãªã©ã.NET5ã«ã¯ä»ã«ãå€æ°ã®Blazorãã¬ãŒã ã¯ãŒã¯æ©èœããããŸãã
https://www.livesharp.netã®ãããªç¡æã®æ¡åŒµæ©èœãäœæããŠããã¹ãŠã®äººã«ç¡æã§æäŸããå¯èœæ§ã¯ãããŸããïŒ
ãã®æ¡åŒµæ©èœã¯èšå®ãç°¡åã§ãããä»ã®ãšãã15æ¥éã®è©Šçšçã䜿çšããŠããŸãð¢
質åããããŸããçŸåšãããããªããŒãã¯MacOSã§ã©ã®ããã«æ©èœããäºå®ã§ããïŒ çŸåšãç·šéãšç¶è¡ã¯æ©èœããªãããã§ãã
@wocarã¯ããç§ãã¡ãåºè·ãããœãªã¥ãŒã·ã§ã³ã¯ãã¹ãŠã¯ãã¹ãã©ãããã©ãŒã ã§ãããmacOSã§åäœããŸãã
@ danroth27ããã©ãŒãã³ã¹ãããŸãè¯ããªããæäœãç°¡åãªãœãªã¥ãŒã·ã§ã³ãæäŸã§ããŸããïŒ
ããšãã°ããã£ãããšå®å
šã«åæ§ç¯ããåŸã«ããŒãžãæŽæ°ããWebSocketæ¥ç¶ãåããéçºããã«ãŠã§ã¢ããããŸããïŒ
@ danroth27ããã©ãŒãã³ã¹ãããŸãè¯ããªããæäœãç°¡åãªãœãªã¥ãŒã·ã§ã³ãæäŸã§ããŸããïŒ
ããšãã°ããã£ãããšå®å šã«åæ§ç¯ããåŸã«ããŒãžãæŽæ°ããWebSocketæ¥ç¶ãåããéçºããã«ãŠã§ã¢ããããŸããïŒ
@xrkolovos VSã䜿çšããŠããå Žåã¯ctrl-shift-b
ã BrowserLink
ã€ã³ã¹ããŒã«ããŠããå Žåã¯ctrl-alt-enter
ïŒæåã§ãã«ãåŸïŒã䜿çšã§ããŸãïŒ https ïŒ
ããã©ãŒãã³ã¹ãããŸãè¯ããªããæäœãç°¡åãªãœãªã¥ãŒã·ã§ã³ãæäŸã§ããŸããïŒ
ããšãã°ããã£ãããšå®å šã«åæ§ç¯ããåŸã«ããŒãžãæŽæ°ããWebSocketæ¥ç¶ãåããéçºããã«ãŠã§ã¢ããããŸããïŒ
.NET5ã®dotnet watch
ã§ãŸãã«ãããè¡ãããã«åãçµãã§ããŸãïŒ https ïŒ
@dazinator @ buster95ç§ãã¡ã¯ããªãã®å€±æãå ±æããŸãïŒ ããããªããŒãã¯ã.NET 5ã§ããããããšã®ãªã¹ãã®äžçªäžã«ãããããã§ãããã¯ãã°ã®äžçªäžã«ãããŸãã åœåã¯.NETå šäœã§ã®ããåºç¯ãªããããªããŒãäœæ¥ã®äžéšã§ãããšäºæ³ãããŠããŸããããããã¯ãã¹ãŠ.NET 6ã«ããã·ã¥ãããŸãããããããªããŒããé©åã«è¡ãããšã¯é£ããåé¡ã§ããã€ãŸããå®è¡äžã®ã¢ããªãã§ããã ãæ©ãæŽæ°ããä¿¡é Œã§ããæ¹æ³ãèŠã€ããããšãæå³ããŸããå¯èœã§å¿ å®åºŠãé«ãã .NET 5ã§å©çšã§ããããããããŸãããã«ã¯ãã£ãšæéãããããŸãã
@ danroth27 .NETã®ãããåºç¯ãªããããªããŒããã¯ãWeb以å€ã®ãããžã§ã¯ãã§ãæ©èœããã¯ãã§ããïŒ ãããŠãããã远跡ã§ããåé¡ã¯ãããŸããïŒ
ãã®åé¡ãããã¯ãã°ãã€ã«ã¹ããŒã³ã«ç§»åããŸããã ããã¯ã次ã®ãªãªãŒã¹ã§ã¯äœæ¥ãè¡ãããªãããšãæå³ããŸãã çŸåšã®ãªãªãŒã¹ã«ç¶ããŠããã¯ãã°ãåè©äŸ¡ãããã®æç¹ã§ãã®é ç®ãæ€èšããŸãã åé¡ç®¡çããã»ã¹ã®è©³çŽ°ãšãããŸããŸãªçš®é¡ã®åé¡ã«é¢ããæåŸ ãé«ããã«ã¯ãããªã¢ãŒãžããã»ã¹ããèªã¿ãã ããã
ãåãåããããã ãããããšãããããŸãã
ãã®åé¡ã¯ãå°æ¥ã®è©äŸ¡/æ€èšã®ããã«Next sprint planning
ãã€ã«ã¹ããŒã³ã«ç§»åããŸãã 次ã®ãã€ã«ã¹ããŒã³ã®äœæ¥ãèšç»ãããšãã«ããªã¯ãšã¹ããè©äŸ¡ããŸãã 次ã«äœãäºæ³ããããã®åé¡ãã©ã®ããã«åŠçããããã«ã€ããŠè©³ããã¯ãããªã¢ãŒãžããã»ã¹ã®è©³çŽ°ããã¡ãã§ã芧ãã ããã
.NET5ã§å©çšã§ããããã«ãªããŸãããã©ãããã°ã¢ã¯ãã£ãåã§ããŸããïŒ
.NET5ã§å©çšã§ããããã«ãªããŸãããã©ã®ããã«ã¢ã¯ãã£ãåã§ããŸãã
äžèšã®ãã¥ãŒãã£ãŒãã§ãã¯ã³ã¡ã³ããããã¯.net6ãã¬ãã¥ãŒã®èšç»ã§ããð¢
@ buster95ã§ã¯ãããŒãžãèªåæŽæ°ããããã«ã.NET Conf2020ã®1æ¥ç®2æé38å36ç§ã§ã¹ãã£ãŒããµã³ããŒ
ãããªãžã®ãªã³ã¯ïŒ https ïŒ
2æé38å36ç§ã§
@yasserss ããã®æã <Virtualize>
ã³ã³ããŒãã³ãã«ã€ããŠè©±ããŠããŸããã YouTubeã®å
±æãã¿ã³ãã¯ãªãã¯ãããšãæå®ããæéã«é©åãªãããªãªã³ã¯ãéä¿¡ã§ããŸãã
@BrunoBlanesç³ãèš³ãããŸãããããã«ãããŸãïŒ https ïŒ //youtu.be/mS6ykjdOVRgïŒt = 8917
圌ã¯dotnet watch.
ã䜿çšããŠãããšç¢ºä¿¡ããŠããŸã
2hïŒ25mïŒ40sã«ãããªããã§ãã¯ãããšã圌ã¯dotnet watch run
ã䜿çšããŠã¢ããªãå®è¡ããŠããã®ã§ã dotnet watch run
æ¹åãããŠããå¯èœæ§ããããŸããååããããããããŠã©ããã®ããã©ãŒãã³ã¹ãæªãã£ãããšãèŠããŠããŸããä»ã¯ããããªã
ã¯ãã dotnet watch
ããã©ãŒãã³ã¹ãæ¹åããããã«.NET5ã§äœæ¥ãè¡ããŸããã ããšãã°ããœãŒã¹ãå€æŽãããã³ã«dotnet restore
å®è¡ããªãæ¹ãè³¢ããªãããã©ãŠã¶ã§ãªããŒããããªã¬ãŒã§ããããã«ãªããŸããã
ããã¯ãããããªããŒãã®ç©¶æ¥µã®ããžã§ã³ã§ã¯ãããŸããã .NET 6ã§çã®ããããªããŒãæ©èœãäœæããäºå®ã§ããã.NET5ã§ã®dotnet watch
ããã©ãŒãã³ã¹ã®æ¹åã¯åœé¢ã®äžæ©ã§ãã
ãŸãã dotnet watch
ãšVSã®äž¡æ¹ã§ãã©ãŠã¶ã®èªåæŽæ°ã®ãµããŒããæå¹ã«ããŸããã VSã§ãã®æ©èœããªã³ã«ããã«ã¯ã次ã®ãªãã·ã§ã³ãèšå®ããå¿
èŠããããŸãã
ããã¯ãã¢ããªããŸã åèµ·åãããã¢ããªããã©ãŠã¶ãŒã«åèªã¿èŸŒã¿ããããšããç¹ã§ãããããªããŒããšã¯ç°ãªããŸãã ãã ããããŒã«ã䜿çšããŠãã©ãŠã¶ãŒãåæ§ç¯ããã³æŽæ°ããªãããã³ãŒãã®ç·šéã«éäžããããšãã§ããŸãã
@ danroth27 Visual Studio for Macã§ã®èªåæŽæ°ã«é¢ãããã¥ãŒã¹ã¯ãããŸããïŒ
@mrlifeããã«ãµããŒããè¿œå ããããã«ç§ãã¡ãæ¢ããŠãããã®ã åèãŸã§ã«@jongalloway
@ danroth27
ãŸãã
dotnet watch
ãšVSã®äž¡æ¹ã§ãã©ãŠã¶ã®èªåæŽæ°ã®ãµããŒããæå¹ã«ããŸããã VSã§ãã®æ©èœããªã³ã«ããã«ã¯ã次ã®ãªãã·ã§ã³ãèšå®ããå¿ èŠããããŸããããã¯ãã¢ããªããŸã åèµ·åãããã¢ããªããã©ãŠã¶ãŒã«åèªã¿èŸŒã¿ããããšããç¹ã§ãããããªããŒããšã¯ç°ãªããŸãã ãã ããããŒã«ã䜿çšããŠãã©ãŠã¶ãŒãåæ§ç¯ããã³æŽæ°ããªãããã³ãŒãã®ç·šéã«éäžããããšãã§ããŸãã
ãããæå¹ã«ãããšãVS2019ã§ã®ä¿åæã«ãããã°ãšãªããŒããè¡ãã®ã«ååãªã¯ãã§ããïŒ ã€ãŸããããªããèšåãããªãã·ã§ã³ã§ãããæå¹ã«ããŸãããF5ããŒãæŒããŠãããã°ãéå§ããã³ãŒããå€æŽããŠãããã©ãŠã¶ãŒã¯ãªããŒããããŸããã ãã ããããã±ãŒãžãããŒãžã£ãŒã³ã³ãœãŒã«ããdotnetwatchãå®è¡ãããšå®è¡ãããŸãã ãããã°äžã«F5ããŒãæŒãã ãã§ããã®æ©èœãå®çŸããã«ã¯ã©ãããã°ããã§ããïŒ
ASP.NET Core 5ãªãªãŒã¹ããŒãã®ãããããããŠã©ããã䜿çšããdotnet watch
èªåæŽæ°ã¯ãŸã VisualStudioå
ã§äœ¿çšã§ãããšã¯æããŸããã
å°æ¥çã«ã¯ãèªåæŽæ°æ©èœãVisualStudioã«å°å ¥ããããšèããŠããŸãã
@BrunoBlanesèªåæŽæ°ã®ãµããŒãã16.8ã¢ããããŒãã®
@porkopekèªååæ§ç¯ãšèªåæŽæ°ã¯ããããã¬ãŒã䜿çšããŠããªãå Žåã«ã®ã¿æ©èœããŸãã
Visual Studio 2019 16.8ã§ãªãã·ã§ã³ãéžæããŠããèªåæŽæ°/ãã«ããæ©èœããŸããã å€æŽãä¿åããåŸã«[èªåãã«ããšãã©ãŠã¶ã®æŽæ°]ãéžæãããšãVisualStudioã®ãããã¢ããã§nullåç §äŸå€ãçºçããããšããããŸãã Visual Studio 2019 16.8ã§æ©èœãããã«ã¯ãä»ã«å€æŽãå¿ èŠãªãã®ã¯ãããŸããïŒ @ danroth27
.NET6ã§å®å šã«äœéšã§ããããšãç解ããŠããŸããçŸåšã®.NET5ãšBlazorWebassemblyã¯ã©ãã§ããïŒ
ãã®ãªãã·ã§ã³ãèªåãã«ãããã³æŽæ°ãªãã·ã§ã³ãã¯ãBlazor Webassembliesã§ãæ©èœããå¿ èŠããããŸããïŒ ïŒãã®ãªãã·ã§ã³ããèªåãã«ããšæŽæ°...ãã«èšå®ããŠFilename.razorãã¡ã€ã«ã«ç§»åããäœããå€æŽããŠCTRL + SãæŒããããïŒäœããã¹ãã§ããïŒ:)ãã©ãŠã¶ããªããŒãããå¿ èŠããããŸããïŒ
ãã©ãŠã¶ãªã³ã¯ãšã©ã®ããã«ïŒãŸãã¯ããã¯ïŒçžé¢ããŠããŸããïŒ
@MussaratAzizãã®ããããªããŒãæ
å ±ã«é¢ããæ
å ±ã¯äžå®å
šã§ãããmsdnããŒãžãå©çšã§ããŸããã
ç§ã®å ŽåãIIS Expressãããã¡ã€ã«ã«åºå·ãããããã¬ãŒãªãã§ãããžã§ã¯ããå®è¡ããå¿
èŠããããŸããã
ããã«ãããããããªããŒããŸãã¯ãããããããªã¹ã¿ãŒããå®è¡ãããŸããããBlazorServerãããžã§ã¯ãã®ã¿ã察象ã§ããã WASMããŒãžã§ã³ã¯ãã¹ãããŠããŸããã
ããããªããŒããªãã§UIã埮調æŽããã®ã¯éåžžã«é¢åãªã®ã§ãASP Core Dev TeamïŒYou are awesome !!ïŒã«ãããå«ãŸããããšãæ¬åœã«æãã§ããŸãã
ã圹ã«ç«ãŠã°å¹žãã§ã:)
USE LIVESHARP ...å°äžå®€ã«ããåäŸãMicrosoftãã§ããªãããšããªããšããã£ããªããŠä¿¡ããããªãã
ç·šéïŒç³ãèš³ãããŸãããã誀解ããªãã§ãã ããããã€ã¯ããœããã¯çŽ æŽãããä»äºãããŸãã..ãããããã®æ©èœã¯å¿ é ã§ã... DIVãŸãã¯å±æ§ãå€æŽããããã ãã«æå°45ç§ã®ãããªãã®ã§ã
ãšããã§ïŒåœåã®éãç§ã¯LiveSharpã䜿çšããŠããŸãã ã¯ããããã¯æ奜家ã«ãšã£ãŠã¯é«äŸ¡ãããããŸããããããŠç§ã¯ãŸãã¬ãã¢ã³ãã®ããŒã ããã®å
¬åŒã®ãµããŒããæãã§ããŸãã
ãããã補åã¯çŽ æŽãããããµããŒãã¯éââåžžã«åªããŠãããããã¯ããŸãæ©èœããŸãã
https://www.livesharp.net/blazor/
也æ¯ïŒ
@wocar @ChristianWeyeræ¬åœã«ããªãã®ãµããŒãã«æè¬ããŸããã¿ããªïŒ ãã ããMSã®åãçµã¿ã軜èŠããªãã§ãã ããã ç§ã¯èª°ã«å¯ŸããŠã責任ãè² ããªããããã»ãšãã©ã®å ŽåããµãŒãããŒãã£ãå®å šã«æ°ãããœãªã¥ãŒã·ã§ã³ãäœæããæ¹ãç°¡åã§ãã ããã¯ç§ãå±éºãåãããšãå¯èœã«ããŸãã
ãšã«ãããããå€ãã®ååãããå°ãªãæµæã
ããããç§ã¯è»œèŠããŠããŸãã-au contraire :-)çµå±ãããã¯ããªãªã¹ã«ã€ããŠã§ãã
æãåèã«ãªãã³ã¡ã³ã
ããã¯ã2020幎11æã«äºå®ãããŠãã.NET 5ã§èšç»ãããŠããŸããããã§ã©ã®ãããªã¢ãããŒããåããããã«ã€ããŠã¯ããŸã å€ãã®è°è«ããããŸãã