äœæ¥ãåéããããã®èšé²ãã¢ã»ããã®å
容ã§ã¯ãªããã¢ã»ãããäœãåŽã®èšé²ã
é
åžãããã®ã¯ src/ é
äžã®ã¿ã§ããã®ãã¡ã€ã«ã¯é
åžãããªãã
æçµæŽæ°: 2026-07-20ïŒå š34ã¹ãã«ã§3 ã€ã³ãã³ããªãå šã¹ãã«åèšæž¬ããŠæŽæ°ãWS/ProjectReferenceã» OT_Toolsã»åœåèŠåã»TFM æ¹ä¿®ãåæ ãããã以åïŒå©çšã¬ã€ã doc 0ã8ã»èšå®äžèЧãŸã§ç¢ºèªãæŽåæ§è£æ£ã æ°èŠã¹ãã«è¿œå ãã©ã³ã¿ã€ã å·®ïŒnet48 / net10.0ïŒã®åæ ãâ¢åºç€ãã«ãã project-setup-build ãžã» å€åœ¢ã®åŸå·¥çš project-transform ãåé¢ïŒ
OpenTouryo ãå©çšããã¢ããªã±ãŒã·ã§ã³éçºãã ã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãïŒClaude Code / GitHub Copilot / Codex ãªã©ïŒã«è¡ãããããã®ã¢ã»ããéã
æ¹éã¯3ç¹ã
- æŠèŠãã€ã³ã¹ãã©ã¯ã·ã§ã³ã«æžãïŒ
src/instructions/AGENTS.mdïŒ - å
·äœçãªã³ãŒãã®æžãæ¹ãã¹ãã«ãšããŠå®è£
ããïŒ
src/skills/*/SKILL.mdïŒ - ãããã¯ãã«åãããŠã€ã³ã¹ããŒã«ã§ããããã«ããïŒ
install/install.ps1ïŒ
å€æåºæºã¯ ãæ¯åã³ã³ããã¹ãã«èŒãã䟡å€ããããã ã®äžç¹ã
| ã€ã³ã¹ãã©ã¯ã·ã§ã³ | ã¹ãã« | |
|---|---|---|
| ããŒã | å šã»ãã·ã§ã³ã®éå§æã«åžžæ | ãšãŒãžã§ã³ããå¿ èŠãšå€æãããšãã®ã¿ |
| åãå 容 | æŠèŠãå°å³ãæ¯åå®ããããèŠçŽ | æé ãç¹å®é åã®å®è£ æ¹æ³ãã³ãŒãäŸ |
| åéã®ç®å® | 200 è¡ä»¥å | 500 è¡ / 5000 ããŒã¯ã³ä»¥å |
ã€ã³ã¹ãã©ã¯ã·ã§ã³ãé·ãã»ã©ãããã«æžããæç€ºã®è¿œåŸçãå šäœçã«äžãããè¿·ã£ããã¹ãã«ãžçœ®ãã
調æ»ã®çµæãSKILL.md ã¯ãªãŒãã³æšæºã ãšå€æããïŒ2025幎12æã« Anthropic ãå ¬éã 2026幎3ææç¹ã§32ããŒã«ã察å¿ãClaude Code / Copilot / Cursor / Codex CLI / Gemini CLI ãªã©ïŒã
â ã¹ãã«ã¯1åæžãã°å šãããã¯ãã§åãã åå²ã¯ã€ã³ã¹ãã©ã¯ã·ã§ã³åŽã«ã®ã¿ååšããã
- 仿§: https://agentskills.io/specification
- å¶çŽ:
nameã¯å°æåè±æ°åãšãã€ãã³ã64æå以å ã芪ãã£ã¬ã¯ããªåãšäžèŽãdescription㯠1024æå以å
| ãããã¯ã | ã€ã³ã¹ãã©ã¯ã·ã§ã³ | ã¹ãã« |
|---|---|---|
claude |
CLAUDE.mdïŒAGENTS.md ã @ importïŒ |
.claude/skills/ |
copilot |
.github/copilot-instructions.mdïŒè€è£œïŒ |
.github/skills/ |
agents |
AGENTS.md |
.agents/skills/ |
Claude Code 㯠AGENTS.md ãèªãŸãªãïŒå
¬åŒããã¥ã¡ã³ãã«æèšïŒããã®ãã @AGENTS.md ã
import ãã CLAUDE.md ãçæãããWindows ã§ã¯ symlink ã«ç®¡çè
æš©éãå¿
èŠãªã®ã§ import æ¹åŒã
AGENTS.md ã¯ã©ã®ãããã¯ãã§ã察象ãªããžããªã®ã«ãŒããžé
眮ããïŒããã忬ïŒã
install/install.ps1ãWindows PowerShell 5.1 / PowerShell 7 ã®äž¡å¯Ÿå¿ãåäœç¢ºèªæžã¿ã
- çæããŒã«ãŒ
<!-- opentouryo-agent-assets:generated -->ãåã蟌ã¿ã å©çšè ãèªåã§æžããæ¢åãã¡ã€ã«ã¯äžæžãããªãïŒ-Forceã§äžæžãå¯ïŒ - åå®è¡ã¯åªç
- ã¹ãã«ã¯
src/skills/ãèµ°æ»ããã®ã§ãã¹ãã«è¿œå æã«ã€ã³ã¹ããŒã©ã®å€æŽã¯äžèŠ - 5.1 察å¿ã®èŠç¹ïŒâ
#Requires -Version 5.1â¡çæç©ã®æžã蟌ã¿ã¯utf8NoBOMïŒPS6+å°çšïŒã䜿ãã[IO.File]::WriteAllTextã§ BOM ç¡ã UTF-8 åºå â¢ã¹ã¯ãªããèªèº«ã UTF-8 with BOM ã§ä¿åïŒ5.1 㯠BOM ç¡ã .ps1 ã ANSI=cp932 㚠誀èªããæ¥æ¬èªã³ã¡ã³ãã§ãã¢ã¹ããªã³ã°è§£æãå£ããããïŒ
åéã ãã§ãªã description ã®çŠç¹ãéèŠããããšãŒãžã§ã³ã㯠name ãš description ã ãã
èŠãŠã¹ãã«ãèªããã©ãããæ±ºãããããè€æ°ã®é¢å¿äºãæ··ãããšèªåœãèãŸãèµ·å粟床ãèœã¡ãã
åå²ã®çµç·¯ïŒ
| å | åå²åŸ | çç± |
|---|---|---|
opentouryo-common |
-logging / -config / -auth |
èªèšŒã ãã§6,201è¡ã3ã€æ··ãããš500è¡ãè¶ ãããdescriptionã®çŠç¹ |
opentouryo-commonïŒåœåæ¡ïŒ |
opentouryo-exception ãç¬ç« |
åç¬ã§250è¡ãå±€ããŸããã§åç §ãããäžæ ž |
opentouryo-layer-d |
opentouryo-query-definition ãç¬ç« |
.sql ãš .xml ã¯ãSQLå®çŸ©ãã¡ã€ã«ã®æžãæ¹ããšããåãé¢å¿äºãDaoå®è£
ãšã¯å¥è»ž |
opentouryo-config |
opentouryo-xml-definition ãç¬ç«ïŒåŸã«è§£äœïŒ |
6皮㮠XML å®çŸ©ãã¡ã€ã«ããå®çŸ©ãã¡ã€ã«ã®æžåŒããšããé¢å¿äºã§ãŸãšãããconfig ã¯ãã¹ã®èšå®ã ããæ±ã |
opentouryo-xml-definition |
-message / -shared-property / -screen-transition / -transaction-control / -transmission ã®5ã€ãžè§£äœ |
æžåŒã ãã§ãªãããããäœ¿ãæ©èœããæžãããå¥ç©ã«ãªã£ãã 6çš®ã¯æžåŒãã䌌ãŠããããæ©èœãšããŠã¯å
±ææ
å ±ã»ã¡ãã»ãŒãžã»ç»é¢é·ç§»ã»ãã©ã³ã¶ã¯ã·ã§ã³ã»éä¿¡ã§ãŸã£ããå¥ãç²åºŠãå°ãããªã£ãŠããé©åãªã¹ãã«ãéžæããŠå®è£
ã§ããããšãåªå
ïŒèµ·å㯠description ã ãã§å€å®ãããããïŒãå
±éã®æžåŒå¶çŽïŒDTD åã蟌ã¿ã»id ã®å
é ã«æ°åäžå¯ã»Fx ããŒã§ãã¹æå®ïŒã¯åã¹ãã«ã«è€è£œãã1ã¹ãã«ã§èªå·±å®çµããã |
opentouryo-layer-d |
-dao-custom / -dao-common / -dao-generated ã®3ã€ãç¬ç«ãlayer-d ã¯äœ¿ãåãã®å
¥å£ãšããŠæ®ã |
Dao 3ç³»çµ±ã¯æžãæ¹ãåœåäœç³»ããŸã£ããå¥ïŒåå¥Dao 㯠SetSqlByFile2ãå
±éDao 㯠SQLFileName ããããã£ãèªåçæDao 㯠S1_Insert / PK_ äœç³»ïŒããã ã XML å®çŸ©ãšéãã3系統ã®ã©ãã䜿ããããšãã倿ãã®ãã®ãã³ã³ãã³ããªã®ã§ã芪ã¹ãã«ãèãæ®ããïŒ75è¡ / å®å¹1,207ããŒã¯ã³ïŒãç³»çµ±ãæ±ºãŸã£ãŠãããªãçŽè¡ããŠããæšãæèš |
opentouryo-layer-p |
-mvc / -webforms / -winformsïŒå®äºïŒ |
å®è£ ã¢ãã«ãæ ¹æ¬çã«éãïŒMVC 㯠UOC ãæããªãïŒãWPF 㯠På±€ãã¬ãŒã ã¯ãŒã¯ãç¡ãå¯Ÿè±¡å€ |
-webforms / -winforms |
ãããã -screenïŒäœæïŒ/ -eventïŒã€ãã³ãïŒã«ååå² ïŒ æšªæ opentouryo-p-call-business ãæ°èšïŒäœè
ã®ææ¡ïŒ |
â ãµã€ãºå§ïŒäž¡è
ãšã 4,400ïŒ4,600ããŒã¯ã³ã§äžéã«è¿«ãå çäœå°ãç¡ãã£ããâ¡ã¿ã¹ã¯ã®åé¢ïŒDevelopersç·š4ç« ããäœæâã€ãã³ãâBå±€åŒåºããã®é ã§èª¬æããå¥äœæ¥ã§ãèµ·åã description ã§åããããâ¢Bå±€åŒåºãã®éçŽïŒwebforms/winforms/mvc ã§éè€ããŠãããåŒæ°ã¯ã©ã¹ã®çµã¿ç«ãŠ â DoBusinessLogic â ErrorFlagããšãwinforms ã«åãããŠãã2CS ã®æåãã©ã³ã¶ã¯ã·ã§ã³ã1æ¬ã«éçŽïŒéè€æé€ïŒãåŒæ°ã¯ã©ã¹ã®æ¹åŒå·®ã¯è¡šã§åžåãMVC 㯠UOC ãç¡ãäžéã«ãé ãã®ã§åå²ããçŸç¶ç¶æïŒBå±€åŒåºãã®å
±éæé ã ãæšªæã¹ãã«ãžãªã³ã¯ïŒãåå²åŸã¯åPå±€ã¹ãã«ã 1,800ã2,900ããŒã¯ã³ã«åãŸã£ã |
| ïŒæ°èŠïŒ | opentouryo-project-policy |
åå²ã§ã¯ãªãã穎ãåããããã«è¿œå ïŒäœè
ã®ææ¡ïŒãã芪ã¯ã©ã¹2 ã®å®è£
ã§æ±ºãŸã仿§ã¯ç¢ºèªããããšåã¹ãã«ã«æžããããäœãã»ã©ããèŠãŠã»èŠãããªããã°èª°ã«äœãèãã®ããã©ãã«ãç¡ãã£ããç¢ºèªæé 㯠message åºæã§ã¯ãªã芪ã¯ã©ã¹2 äŸåã®äºé
ãã¹ãŠã«å¹ãäžè¬åãªã®ã§ãåã¹ãã«ãžè€è£œãã1æ¬ã«ãŸãšããAGENTS.md ãšåã¹ãã«ãããããæãã |
opentouryo-auth |
opentouryo-oauth2-client ãç¬ç« |
auth ã 4,463ããŒã¯ã³ã§å çäœå°ãç¡ãã£ãã®ãçºç«¯ã ããæ¬è³ªã¯ãå€éš IdP ãšé£æºãããããç¬ç«ããã¿ã¹ã¯ã§ãèªåœïŒOAuth2 / èªå¯ã³ãŒã / id_token / state / nonceïŒãå¥ã«ç«ã€ããšãauth ã¯ããŠãŒã¶æ
å ±ã®ä¿æãã«å°å¿µããããæåŸã«ããããšã¯éåžžã®ãã°ã€ã³ãšåãïŒ.NET åŽã®èªèšŒ + MyUserInfoïŒãªã®ã§ãäž¡ã¹ãã«ã¯çžäºãªã³ã¯ããŠãã |
opentouryo-layer-d/references/ ã¯åé€ãããDå±€ã316è¡ã§åãŸããæº¢ããªãã£ãããã
ãDå±€ã¯æº¢ããã ããããšããåœåã®æšæž¬ãå€ããã
Claude Code ã¯ãããã¯ã¬ãã«ã® HTML ã³ã¡ã³ããèªã¿èŸŒã¿æã«é€å»ããããã å·çè åãã¡ã¢ãããŒã¯ã³ãæ¶è²»ããã«æ®ãããä»ãããã¯ãã§ã¯é€å»ãããªãç¹ã«æ³šæã
<!-- TODO: ... --> ãå·çè
ãžã®æç€ºãTODO ã®çŽ æååãåããã¹ãç®æãšããŠäœ¿ãåããŠããã
2.7 GUI ããŒã«ã® CLI åïŒåºæºã¯ããšãŒãžã§ã³ããçŽæ¥ã§ããããïŒäœè 倿ïŒ
å€æåºæºïŒãã®ããŒã«ãããšãŒãžã§ã³ããçŽæ¥ã§ããªãåŠçãå«ããã å«ãŸãªããªã CLI åããªããå«ããªã CLI åãã䟡å€ãããïŒ2026-07ã»äœè 倿ïŒã
| ããŒã« | CLI å | çç± |
|---|---|---|
DPQuery_ToolïŒåçã¯ãšãªåæããŒã«ïŒ |
ããªã | ãšãŒãžã§ã³ã㯠.sql / .xml ãçŽæ¥æžã㊠Dao çµç±ã§å®è¡ã»ãã¹ãã§ãããããŒã«ã®äŸ¡å€ã¯ã人ã GUI ã§è©Šéšå®è¡ãããããšã§ããšãŒãžã§ã³ãã®äœæ¥ãããŒãšã¯åæãéã |
| Då±€èªåçæããŒã«ïŒå¢šå£ºïŒ | ããäºå®ïŒæ¬äœ Issue #508 起祚æžã¿ã»2026-07-17ïŒ | ã©ã³ã¿ã€ã ããå®è¡ã§ããªãåŠçïŒDB ã¹ããŒãã®èªã¿åã â Dao / DTO / SQL ã®ã³ãŒãçæïŒãå«ãããšãŒãžã§ã³ããçŽæ¥ã§ããªãã®ã§ãCLI åããã°åŒã¹ãããã«ãªã |
| ããŒã¿ã»ã¡ã³ããã³ã¹ç»é¢èªåçæïŒASP.NETïŒ | æªæ€èšã»ã¹ã³ãŒãå€ | doc0ïŒIndexïŒã§ååšã確èªããæ¢ç¥ã® GUI ããŒã«ãå¢šå£ºåæ§ããšãŒãžã§ã³ããçŽæ¥ã§ããªãçæåŠçããå«ãã®ã§å°æ¥ CLI åã®åè£ã§ã¯ããããç»é¢çæã¯çŸç¶ã¹ã³ãŒãå€ãã¹ãã«åãããŠããªã |
æèšïŒäººéåã GUI ããŒã«ãæ©æ¢°çã«ãšãŒãžã§ã³ãåããžç§»æ€ããªãã
ãšãŒãžã§ã³ããå
ã®ææç©ïŒã³ãŒãïŒãçŽæ¥æ±ãããªãããŒã«ã¯äžèŠïŒDPQuery_ToolïŒã
éã«ããŒã«ãæäœæ¥ã§ã¯åçŸãã«ããåŠçãæã€ãªã CLI åã®äŸ¡å€ãããïŒèªåçæããŒã«ïŒã
DPQuery_Tool ã¯ããŒã«åã§ã¯ãªã opentouryo-query-definition ã®å
å®ã§å¯Ÿå¿ããã
Då±€èªåçæããŒã«ã® CLI ãã§ããããopentouryo-dao-generated ããåŒã³åºãæ¹ãæ¡å
ã§ãã
ïŒçŸç¶ã¹ãã«ã¯ãçæç©ã®äœ¿ãæ¹ããæ±ããçæãã®ãã®ã¯ããŒã«åæã§5 / §7 åç
§ïŒã
ãã®åºæºã®å®äŸïŒãããžã§ã¯ãã»ããã¢ããïŒopentouryo-project-setupïŒã
æ°èŠç«ã¡äžãïŒOpenTouryo ã GitHub ãã ZIP ååŸ â åºç€ãã«ã â ãµã³ãã«ãåãåºã â åç
§
åŒµãæ¿ã â ãªãœãŒã¹ç§»èš â config åŒµãæ¿ãïŒã¯ããã¹ãŠãšãŒãžã§ã³ããçŽæ¥ã§ãã
ïŒããŠã³ããŒãã»ãã«ããããå®è¡ã»csproj/config ç·šéïŒãGUI ã«é Œããæé ã¹ãã«ãšããŠå®è£
ããã
DownloadâBuildâãã³ãã¯ããã®å Žã®ã³ãã³ãçŸ
åã«ããã»ããã¢ãã ã¹ã¯ãªãããçæããŠå®è¡ãã
ïŒäœè
ã®æç€ºãåçŸã»ã¬ãã¥ãŒå¯èœã«ãããæš¡ç¯ã¯ MultiPurposeAuthSite ã®
3_BuildLibsAtOtherRepos.bat / ...InTimeOfDev.batïŒã
ãã«ãã¯4ãããïŒ2_Build_NuGet_net48 â 3_Build_Business_net48 â
2_Build_NuGet_netcore100 â 3_Build_Business_netcore100ã9_CICD.bat ã¯äœ¿ããªãïŒã
åºç€ DLL ã¯å°å
¥ãªããžããªå
OpenTouryoAssemblies\Build_net48\ / Build_netcore100\ ã«ãã³ããã
Reference Include="OpenTouryo.*" ã® HintPath ã ããåŒµãæ¿ããïŒ3rd-party 㯠NuGet 埩å
ã«ä»»ããïŒã
opentouryo-layer-p-mvc å®å¹302L tok~3687 å®äº
opentouryo-layer-p-webforms-screen å®å¹146L tok~1891 å®äºïŒç»é¢ã®æ°èŠäœæïŒ
opentouryo-layer-p-webforms-event å®å¹177L tok~2935 å®äºïŒã€ãã³ãå®è£
ïŒ
opentouryo-webforms-dialog å®å¹166L tok~2193 å®äºïŒåç»é¢è¡šç€ºã»ãã€ã¢ãã°ïŒ
opentouryo-layer-p-winforms-screen å®å¹117L tok~1812 å®äºïŒç»é¢ã®æ°èŠäœæïŒ
opentouryo-layer-p-winforms-event å®å¹106L tok~1878 å®äºïŒã€ãã³ãå®è£
ïŒ
opentouryo-p-call-business å®å¹191L tok~2784 å®äºïŒPå±€âBå±€åŒåºãã»æšªæïŒ
opentouryo-richclient-async å®å¹148L tok~2110 å®äºïŒãªããã¯ã©ã€ã¢ã³ãã®éåæåŒã³åºãïŒ
opentouryo-common-parts å®å¹129L tok~2351 å®äºïŒçšéâå
±ééšåã®ã€ã³ããã¯ã¹ïŒ
opentouryo-project-setup å®å¹ 99L tok~2617 å®äºïŒ**ãã¡ãµãŒã**ãå
šäœã®æµãïŒ4ã¹ãã«ïŒéžæåŒ db ã®åŒã³åºãé ïŒæ¢åãžã®è¿œå ã»åå®è¡ãåªçæ§ã»**2CS/RichClient ã¯åã©ã³ã¿ã€ã ã§ãâ¢è¿œå ãã«ãèŠïŒäŸå€**ãïŒ**é
眮ã»åœåã®åºå®èŠå**ãnet48=å
åã»core 㯠net48çãåšãã° `_Core`ã»net48 ã®ã¿/net10.0 ã®ã¿ã¯ç¡å°ã»WS 系㯠`WS_sample\` éå±€ç¶æã»éçºæ¯æŽããŒã«ã¯ `OT_Tools\` é
äžãïŒå®äºåŸïŒâtransformïŒã»ã³ãããä¿ãïŒå
šå·¥çšå
±éã®çŠæ¢äºé
ãäŸå€ïŒWS ãã¹ã ServiceInterface ã¯åŒã蟌ããïŒ
opentouryo-project-setup-selection å®å¹105L tok~2856 å®äºïŒâ â¡ãèµ·ç¹ãµã³ãã«éžæãå
šç³»åãå¿
ãæç€ºã»**掟çãæç€º**ã»ååã§æ±ºãæã¡ããªããïŒååŸå
<ref>ãåºå®ã¿ã°çªå·ã¯ãŠãŒã¶ç¢ºèªã»developãã**CLI=net10.0 ã®ã¿ïŒWeb Forms=net48 ã®ã¿ïŒWSClient variant 㯠csproj ã§å€æãWin2 㯠WS éäŸåã®åç¬ På±€ã**ãRichClient åºç€èŠãµã³ãã«æ³šèšã2CS/WPF/3å±€ãïŒ
opentouryo-project-setup-build å®å¹169L tok~4350 å®äºïŒâ¢ãZIPååŸâã©ã³ã¿ã€ã å¥ãããâãã³ããfootgunïŒåœã®æåïŒMAX_PATHçã«ãŒãïŒPowerShell æ¢å®ãçã«ãŒãå±éããªãŒãã¯ãŒã¯ã¹ããŒã¹åã**Business.RichClient ã¯å¥ slnïŒ2CS/RichClient ãªãå¿
é ã»base2 éäŸå**ãçæ .ps1 㯠`scripts/` é
äžã»CWD éäŸåïŒ
â examples.md å®å¹233L tok~4044 宿© as-built ã¹ã¯ãªãã3æ¬ïŒsetup-build/setup-build-netcore/build-appãnetcore 㯠extract æµçšã»TFM äž¡ãµããã©ã«ãããã³ãã**build-app 㯠WS ã ProjectReference ã§åãœãªã¥ãŒã·ã§ã³äžæ¬ãã«ãã«æ¹èš**ãcopy-to-Build 廿¢ããããŒã«ã¯ `OT_Tools\`ïŒ
opentouryo-project-setup-core å®å¹ 73L tok~1635 å®äºïŒâ£â€ïŒæ žå¿ãåãåºãã+éçºæ¯æŽããŒã«â`OT_Tools\`ã»**csproj Include ãšãã¡ã€ã«å®äœãæ¯åç
§å**ãã»HintPath 匵æ¿ã»WS/3å±€ã®æ±ããreferences/samples ãä¿æïŒ
â references/reference-rewrite.md å®å¹54L tok~1295 â€ã® edge caseïŒBuild_* å
š DLLïŒMySql/Oracle é埩å
ã»**WSServer/WSIFType 㯠ProjectReferenceïŒDLL匵æ¿ã®å¯Ÿè±¡å€**ã»net48 ã PackageReference äœµçšæ restoreã»MAX_PATHïŒ
â samples/webservices.md å®å¹152L tok~4407 WS/3å±€ã®å
±éæ©æ§ïŒ**WSClient 4 variant 宿ž¬è¡š**ãäŸå圢3çš®ã»config 0ã2ã»ClickOnceãã**åç
§æ¹åŒïŒFW 㯠DLLïŒãµã³ãã« Bã»Dã»å㯠ProjectReference**ã»WS ãã¹ã ServiceInterface åŒã蟌ã¿ã»`_all.sln` é圢差æ¿ã»core å®çšäžå¯
â samples/webforms.md å®å¹42L tok~881 Web Forms åºæïŒcc ç»é¢ CS0246ã»(A)=WS ã ProjectReference/(B)ç»é¢å·®ãæ¿ãã»configäºæ®µã»test*ãã¹ã¿åºæåïŒ
â samples/daogentool.md å®å¹39L tok~912 éçºæ¯æŽããŒã« DaoGen_ToolïŒå¢šå£ºïŒDå±€èªåçæã`OT_Tools\` é
äžã»HintPathïŒPackageReference æ··åšïŒrestore èŠïŒâ dao-generated
â samples/dpquerytool.md å®å¹35L tok~798 éçºæ¯æŽããŒã« DPQuery_ToolïŒPARAM ã¿ã°ãåãåºã/匵æ¿ã¯ daogentool.md ãšåãïŒâ query-definition
opentouryo-project-setup-config å®å¹ 83L tok~1846 å®äºïŒâ¥âŠãresource ç§»èšã»config ãã¹åŒµæ¿ã%OT_RESOURCE_ROOT%ãã».gitignoreã»æ¥ç¶æåå/InitConfiguration/StateServerã»ãã«ã/å®è¡æ€èšŒãreferences ãä¿æïŒ
â references/resource-config.md å®å¹84L tok~1876 â¥ã®è©³çްïŒçžå¯Ÿäžå¯ã»%VAR%å±éã»ãã¹ããŒäžèЧã»**èªå·±å®çµå `.\Dao` ã¯åŒµæ¿ããªãäŸå€**ã»log4net PatternStringã»ç¶Žãã®çœ ã»configäºæ®µïŒ
â references/run-verify.md å®å¹97L tok~2085 âŠå®è¡ç¢ºèªïŒnet48 IIS ExpressïŒcore KestrelïŒãã¹ã¯ããã exe çåïŒ**Batchã»CLI åŒæ°ã»Console.ReadKeyã»DB æ¡ä»¶ä»ã**ïŒ3局㯠WS ãã¹ã ServiceInterface èµ·åïŒ
opentouryo-project-setup-db å®å¹ 98L tok~2203 å®äºïŒ**éžæåŒ**ã®ç°å¢æ§ç¯ãLocalServicesOnDocker ã§ SQL Server/MySQL/PostgreSQL/Redis/MongoDB ã Docker èµ·åãæ¢å®ã ãµã³ãã«æ¥ç¶æååãšäžèŽãSQL 1433/sa/seigi@123/NorthwindïŒConnectionString_SQLãMySQLïŒConnectionString_MCNããOracle ã¯å¯Ÿè±¡å€ãDocker 倿Žã¯ SETUP-CHANGES.md èšé²ãæ¢å DB ããã°äžèŠã**â
4 DB ã¯æ°žç¶ç¡ãïŒæ¯åãªã»ããã»redis ã®ã¿æ®ãïŒNorthwind åºæ¬è¡šã¯èªååäœæã»ORDERS2 çãµã³ãã«åºæè¡šã¯éœåºŠåæå
¥**ãclone 㯠repo å€ã»èµ·ååããŒã ããªãã©ã€ãã»Start-Services.ps1 ã® up/down/ps/logsïŒ-NoWait/-NoPauseïŒ
opentouryo-project-transform å®å¹101L tok~2263 å®äºïŒã»ããã¢ããåŸã®å€åœ¢ïŒ2å±€åã»ãµã³ãã«æŽçã»CS0246 è§£æ¶ã宿©E2Eåæ ïŒæ¹è¡LF/é察話PSã¬ãŒãã»2å±€åã®DB DLL仿¿ã»test*ãã¹ã¿èŠåã»csprojåªå®ææ³ãå®è¡ã¯ä»»æïŒ
opentouryo-layer-b å®å¹293L tok~4133 å®äº
opentouryo-layer-d å®å¹151L tok~2239 å®äºïŒDao 3系統ã®äœ¿ãåãã»å
¥å£ïŒ
opentouryo-dao-custom å®å¹205L tok~2928 å®äº
opentouryo-dao-common å®å¹143L tok~2096 å®äº
opentouryo-dao-generated å®å¹157L tok~2112 å®äº
opentouryo-query-definition å®å¹343L tok~4109 å®äº
opentouryo-message å®å¹140L tok~1760 å®äº
opentouryo-shared-property å®å¹ 75L tok~ 779 å®äº
opentouryo-screen-transition å®å¹119L tok~1485 å®äº
opentouryo-transaction-control å®å¹129L tok~1652 å®äº
opentouryo-transmission å®å¹141L tok~2063 å®äº
opentouryo-exception å®å¹298L tok~4407 å®äº
opentouryo-logging å®å¹167L tok~2114 å®äº
opentouryo-config å®å¹200L tok~2746 å®äº
opentouryo-auth å®å¹312L tok~4952 å®äº â
äžéã«è²Œãä»ããŠãã
opentouryo-oauth2-client å®å¹266L tok~2853 å®äº
opentouryo-project-policy å®å¹195L tok~4515 å®äºïŒèŠªã¯ã©ã¹2 ã®æåã»éçšã«ãŒã«ã®ç¢ºèªæé ïŒèªãåŽãBusiness å®ãœãŒã¹å
šã¹ãã£ã³ã§ Web API/åŒæ°æ»ãå€/éåæ/ãµãã·ã¹ãã /屿§ã®ç¢ºèªå°å³ã远è£ãæ€èšŒå®è¡ã§â ãœãŒã¹æåšãçŸè¡åãçã«ãŒã C:\otrã»äœ¿ãæšãŠã»äžæµ archive/<ref>.zip ååŸæé ãïŒoverlay 空/äžåš=æªæ¹å€ç¢ºå®ã® L166 äŸå€ã»æ¥ç¶æååããŒã¯ config å
èªã¿ã»ç©ºæ¯ãèµ·åã¬ãŒãã»ç¢ºå®äºå®ã¯ PROJECT-POLICY.md ãžèšé²ã<ref> 㯠setup-build ã build-ref.txt ã«æ®ããâ
DBMS éžæçã®4è¡ã¯ 2CS ãªã MyFcBaseLogic2CS.cs ãèªãã»ActionType 㯠PascalCaseã»Dam ã¯ã©ã³ã¿ã€ã å¥ïŒ
opentouryo-base2-customize å®å¹169L tok~4878 å®äºïŒèŠªã¯ã©ã¹2 ã®ã«ã¹ã¿ãã€ãºïŒçºãè
åãã»äœãåŽããªãŒããŒã¬ã€+åºå®ã¿ã°ãçã«ãŒãå±éããªãŒãã¯ãŒã¯ã¹ããŒã¹åãâ
2CS=Business.RichClient ã¯å¥ slnãBusinessRichClient_*.slnãèŠãã«ãïŒoverlay é©çšã¯ Copy-ItemïŒUTF-8 BOM ä¿æïŒoverlay ã¯ãã¡ã€ã«äžžããšå·®æ¿ïŒãããã§ãªããWeb API/åŒæ°æ»ãå€/éåæ/RcMyCmnFunction/ãµãã·ã¹ãã /屿§ã®å·®ã蟌ã¿ç¹ã远è£ãæ€èšŒå®è¡ã§ UOC_ConnectionOpen 㯠deprecated ååå«ã4ã¯ã©ã¹éè€ïŒDBMS 墿žã®é¢ãã§ãã¯ãªã¹ãïŒRichClient sln ã¯éSDKïŒ/t:buildã»obj å
±ææé€ãexamples.md 2bãïŒoverlay é©çšã®æ£å
ž1æ¬ïŒODP ã¬ãŒãäžæãæ³šæïŒ
å
š34ã¹ãã«ã®æ¬æãæžãçµããã å
šãŠæšæºæºæ ãç®å®ïŒ500è¡ / 5000ããŒã¯ã³ïŒå
ã
ãå®å¹ã㯠HTML ã³ã¡ã³ãé€å»åŸïŒClaude Code ã§ã¯ã³ã¡ã³ããé€å»ãããããïŒã
èšæž¬ã¯ scratchpad/measure.py çžåœã®ã¹ã¯ãªããã§è¡ãïŒèŠç©ãåŒïŒASCII 1/4å + éASCII 1/1.1åã
tiktoken çå€ã¯ããããçŽ1.3åãæ¥æ¬èªé倧èšäžããªã®ã§ãäžè¡šã¯èŠç©ãåŒã§çµ±äžïŒã
å€ã¯ 2026-07-20 ã«å
šã¹ãã«åèšæž¬ããŠæŽæ°ïŒWS/ProjectReferenceã»OT_Toolsã»åœåèŠåã»TFM æ¹ä¿®ãåæ ïŒã
opentouryo-auth 㯠çŽ4,950ããŒã¯ã³ã§äžé 5,000 ã«æ¥ããŠããã
ãã以äžã®å çã¯åå²ãšã»ããã§èããããšãå€éš IdP 飿ºã opentouryo-oauth2-client ãšããŠ
ç¬ç«ãããã®ããããäžå ïŒ2.5 åç
§ïŒã
çžäºãªã³ã¯ããŠããïŒBå±€ â Då±€ â ã¯ãšãªå®çŸ©ãå
šå±€ â äŸå€ãPå±€3çš® â authã
auth â oauth2-clientãsetup â config / project-policyããªã©ïŒã
AGENTS.md 㯠tok~3403ïŒã¹ãã«äžèŠ§è¡šã¯ READMEãGitHub ãªã³ã¯ããžç§»èšæžã¿ïŒÂ§4.3 2026-07-19ã
åžžæããŒãæ ãçŽ1000 ç¯çŽïŒãæ®ãã®ã¯æšªæäºå®ïŒDBMS å·®ã»åå空éã»ã©ã³ã¿ã€ã å·®ã»ã»ããã¢ããïŒãš
éæšå¥šãªãã¡ã¬ã³ã¹è¡šãäžå¿ã§ããã以äžã¯ load-bearing ãªæ
å ±ãåãããšã«ãªããã¹ãã«äžèЧãšäœ¿ãã©ãã㯠README åç
§ã
æ®ãã®ã¯åã¹ãã«å ã® TODOïŒãããžã§ã¯ãåºæã®å€ã»æªç¢ºèªã®è«ç¹ïŒãš AGENTS.md ã® TODOã
åå°åºã®ã³ã¹ããé«ãã æ¬¡ã®ã»ãã·ã§ã³ã§åã調æ»ãç¹°ãè¿ããªãããšã
documents/1_User_Guide/ja-JP/1_User_Guide(Common).doc 㯠2016/10/3 çã§å
容ãå€ãã
åæã VS2010-2015 / .NET 3.5sp1-4.6 / IE11 ã§ãPå±€ã®èšè¿°ã¯ã»ãŒå
šãŠ Web Forms åæã
çãå€ãã®ã¯äºå®ã ããèšèšã®èšè¿°ãã®ãã®ã¯ä¿¡é Œã§ããã å®è£ ãšçªãåãããŠç¢ºèªããããšã
6_User_Guide(Each_Function_Editing).doc ã確èªãch.3ã6ïŒå
±ææ
å ±/ã¡ãã»ãŒãžã»ç»é¢é·ç§»ã»
ãã©ã³ã¶ã¯ã·ã§ã³ã»éä¿¡å¶åŸ¡ïŒã¯æ¢åã¹ãã«ãšäžèŽãæ°èŠã¯åç»é¢è¡šç€ºæ©èœïŒch.2ïŒã
opentouryo-webforms-dialog ãšããŠèµ·ãããããã®æ©èœã§ããã¥ã¡ã³ããå®è£
ããä¹é¢ããŠããïŒ
- ããã¥ã¡ã³ãã®å¶éäºé
ïŒch.8ïŒã¯ãæ¥åã¢ãŒãã«ã¯ã¢ãã³ãã©ãŠã¶ã§è¡šç€ºã§ããªãïŒIEå°çšïŒã
ãšããããææ°ç㯠IE 以å€ã§æ¬äŒŒãã€ã¢ãã°ã䜿ãïŒäœè
ã«ç¢ºèªïŒã
OKã»YES/NOïŒFloating divãæ¥åã¢ãŒãã«ïŒ**
window.open**ã CloseModalScreen_WithAllParentã¯ãµããŒããããªããªã£ãïŒã¡ãœããã¯æ®åã»[Obsolete]ç¡ãïŒãFxEnum.IconTypeã®å€ã¯Information/Exclamation/StopMarkã ããã¥ã¡ã³ãã®INFORMATIONçã®ç¶Žãã¯å€ãïŒå®è£ ã§ç¢ºèªïŒã
æèšïŒå¶éäºé ã»API ç¶Žãã»ãµããŒãç¶æ³ã¯ããã¥ã¡ã³ããéµåã¿ã«ããå®è£ ãšäœè ã«åœããã Ajax飿ºïŒch.7ïŒ.NET 2.0 äžä»£ïŒãšå ±éAPIãŠãŒãã£ãªãã£ïŒch.1ïŒã¯ã¹ãã«åããïŒã¬ã¬ã·ãŒïŒ APIãªãã¡ã¬ã³ã¹ã§è¶³ããïŒã
åœåãããã¥ã¡ã³ãã¯ããã¬ãŒã ã¯ãŒã¯äŸå€ã»äžè¬äŸå€ã¯Bå±€ã§ãªã¹ããŒããããšæžããŠãããã å®è£ ã¯ãªã¹ããŒããªãããšå€æãããã®ææžã«ãçžéãšããŠèšé²ããŠãããããã¯èª€ãã ã£ãã
BaseLogicã¯ç¢ºãã«ãªã¹ããŒããªãïŒ// ãªã¹ããŒããªãïŒäžèšã®UOC_ABENDã§å¿ èŠã«å¿ããŠãªã¹ããŒïŒïŒ- ããã
UOC_ABENDïŒèŠªã¯ã©ã¹2 ã®æ¢å®ãã³ãã¬ãŒãïŒãExceptionDispatchInfo.Capture(ex).Throw()ã§ãªã¹ããŒããŠãã - æ£å³ã®æåã¯ããã¥ã¡ã³ãéãããªã¹ããŒããå Žæã
BaseLogicã§ã¯ãªãUOC_ABENDãªã ã
BaseLogic ã ããèªãã§ãå®è£
ã¯ãããªã£ãŠããããšçµè«ãåºããã®ãåå ã
ãã¬ãŒã ã¯ãŒã¯ã®æåã¯ã芪ã¯ã©ã¹1 â 芪ã¯ã©ã¹2 ã®ãã³ãã¬ãŒãããŸã§è¿œããªããšåãããªãã
芪ã¯ã©ã¹2 ã¯ã«ã¹ã¿ãã€ãºå¯èœãªå±€ãªã®ã§ãæ¢å®ãã³ãã¬ãŒãã®å®è£
ããæ¢å®ã®æåãã«ãªãã
FrameworkException 㯠BaseLogic ã§åå¥ã« catch ããããcatch (Exception) ã«èœã¡ãã
åãšããŠã¯ç¬ç«ããŠããããBå±€ã§ã®æåã¯äžè¬äŸå€ãšåãã
MyBaseLogic 㯠[Obsolete]ãæ£ãã㯠MyFcBaseLogicã
grep ã§ UOC_ABEND ã®å®è£
ãæ¢ããš MyBaseLogic.cs ãå
ã«ãããããããã
ãã®ãŸãŸèªããšéæšå¥šã¯ã©ã¹ãæããã¹ãã«ã«ãªããå®éã«äžåºŠèžã¿ãããã
éæšå¥šã¯ã©ã¹ã®äžèŠ§ã¯ AGENTS.md ã®ãéæšå¥šã¯ã©ã¹ã»ã¡ãœãããç¯ã«ãŸãšããŠãã
ïŒ[Obsolete] ã¯ãã«ãèŠåæ¢ãŸãã§çŽ éãããããïŒã
å¡äŸïŒãã®ç¯ã§äœ¿ãèšå·ïŒïŒ
- ã»ããã¢ããå·¥çšçªå·ã¯åºå®ïŒâ â¡ãµã³ãã«/ååŸå éžæã»â¢åºç€ãã«ãã»â£â€åãåºã/åç §åŒµæ¿ã»â¥âŠresource/configã»æ€èšŒã»**ãéžæåŒã**DBïŒÂ§3ã»facade ãšåãçªå·ïŒã
- äžæ¹ãè±å/æ°å€ã®ã¬ããŒãé
ç®ã©ãã«ïŒ
A/Bã»K/Lã»(1)(2)ã»â ãçïŒã¯åè¡ã¹ã³ãŒãã§ãåãèšå·ã§ãå¥è¡ã§ã¯å¥å 容ãæãïŒå 容ã¯åè¡å ïŒKïŒã¹ãã«ïŒïŒâŠïŒãŸãã¯èŠåºãã®ããã§æç€ºããŠããã
| é ç® | å 容 |
|---|---|
| UOCã¡ãœããã®ã·ã°ãã㣠| private void UOC_XXX(ãã©ã¡ãŒã¿å€ã¯ã©ã¹)ãåŒæ°1ã€ã»æ»ãå€voidãã¬ã€ããã€ã³ãã®ãã |
| æ»ãå€ã®è¿ãæ¹ | this.ReturnValue = ... ãæ¥ååŠçããå
ã«èšå®ãfinally ã§ååãããã®ã§äŸå€æãæ»ã |
messageID |
å°æåå§ãŸããC#ã®åœåèŠåã«åãã |
èªåçæDao ã® S / D |
S=WHEREãäž»ããŒåºå® / D=WHEREãåçãéç/åçã®æå³ã§ã¯ãªãïŒS1_Insertã ã.sqlãªã®ã§èª€èªããããïŒ |
| 楜芳æä» | [ts] = RAND() + WHERE [ts] = @ts â æŽæ°ä»¶æ°0ãã§ãã¯ãå€å®ãã®ãã® |
SetUserParameter |
SQLæååãžã®çœ®æããŠãŒã¶å
¥åãæž¡ããšSQLã€ã³ãžã§ã¯ã·ã§ã³ïŒSetParameterãšã¯å¥ç©ïŒ |
| ã©ã³ã¿ã€ã ã§äœ¿ããªãå ±ééšåïŒcsproj ã§ç¢ºèªã»äœè ææïŒ | net48 å°çšïŒcore ã® csproj ã§ Compile RemoveïŒïŒPublic.IO ã® Zipper / UnZipper / ZipBase / BinarySerializeãPublic.Win32 / WinProcãDb\DamOLEDB / DamOraClientãPublic.Security ã¯ãé€å€ãã§ã¯ãªãç¬ç«ã¢ã»ã³ããªã§äž¡å¯Ÿå¿ïŒcore 㯠IdentityImpersonation ãš CNGç³»ECDHã®ã¿é€å€ïŒããªã¢ãŒãåŒã³åºãïŒéä¿¡å¶åŸ¡ protocol="2"ïŒWeb ãµãŒãã¹/WCFïŒã net48 å°çšïŒCallController 㯠core ã§ããã«ããããã #if NETCOREAPP ã§ãªã¢ãŒã系㯠return nullïŒBinarySerialize ã®ãããããåå ïŒãcore ã¯ã€ã³ããã»ã¹ïŒprotocol="1"ïŒã®ã¿ãcommon-parts / transmission / richclient-async / AGENTS.md ã«åæ |
| åçã¯ãšãªã®è£å®ïŒdoc4 ã§æŽåæ§ç¢ºèªïŒ | 13ã¿ã°ã¯æ¢ã«ç¶²çŸ
ã穎3ç¹ã远èšïŒâ ããã¹ãå
ãã©ã¡ã¿ïŒ@pãåŠçåŸæ®ãã»å
šã¿ã°ã«äœçšïŒãš ã¿ã°å
ãã©ã¡ã¿ïŒname屿§ãæ¶ããã»æåã®1ã¿ã°ã®ã¿ïŒã®åºå¥ãâ¡XML äžã® </> 㯠</> ã CDATAãâ¢DBNullïŒDB ã® NULL å€ã»INSERT/UPDATE çšã»WHERE äžå¯ïŒãš nullïŒã¿ã°ç¡å¹åïŒã¯å¥ç©ãquery-definition ã«è¿œèš |
| æé»ã®å倿ïŒdoc7 4.2ïŒ | stringânvarcharãåãvarcharã ãšäžäžèŽã§ååŽã倿ããã€ã³ããã¯ã¹äžäœ¿çšïŒæ§èœå£åïŒãæ¢å®ã¯åãæå®ãããå£å確èªåŸã«SQLåŽãã£ã¹ãã§å¯ŸåŠãLISTã¿ã°ã¯SQLå
ãã£ã¹ããå¹ããªãïŒèªåå±éã®ããïŒãquery-definitionã«è¿œèš |
SetParameterã®ãªãŒããŒããŒãïŒdoc7 4.4ïŒ |
å€ã®ã¿ïŒ+dbTypeInfoïŒ+sizeïŒ+ParameterDirectionãã¹ãã¢ãã¯ParameterDirection.ReturnValue/Outputã§å®£èšãGetParameterã§ååŸãdao-customã«è¿œèš |
| ãã©ã¡ã¿åã®æ¥é èŸ | ã³ãŒãã®SetParameteråã¯æ¥é èŸãªãïŒ"P1"ã@/:ãä»ããªããæ¥é èŸã¯ DBMS å¥ Dam ãä»ããïŒãåœåã¹ãã¢ãäŸã§"@P1"ãšæžããã®ã¯èª€ãã§ä¿®æ£ããµã³ãã«ã¯å
šãŠSetParameter("P1", ...) |
| DBMS äŸåïŒäœè ææïŒ | ã¹ãã«ã® SQL äŸã¯ SQL Server äžå¿ãSQL å®çŸ©ãã¡ã€ã«ã¯ DBMS å¥ïŒsqlserver/ïŒ@P1ãoracle/ïŒ:P1ãdb2/hirdb/mysql/pstgrsâŠã«åãã¯ãšãªïŒãåæ
å ±ã DBMS äŸåïŒSqlDbType.IntïŒOracleDbType.Int32ïŒãæšªææ³šæã¯ AGENTS.md ã«äžåºŠã ãïŒå¯Ÿè±¡ããŒãžã§ã³ç¯ïŒã詳现ã¯query-definitionïŒdao-customãSQL æ§æïŒCASTã»é¢æ°ïŒã DBMS ã§éã |
| DBMS ã®éžæç®æïŒäœè ææïŒ | 芪ã¯ã©ã¹2 MyFcBaseLogic.UOC_ConnectionOpen ã actionType.Split('%')[0]ïŒåŒæ°ã¯ã©ã¹ã® actionType ã®å
é ïŒã§ Dam ãéžã¶ãã³ãŒãïŒSQLâDamSqlSvrïŒODPâDamManagedOdpïŒODBïŒMCNïŒNPSïŒCoreïŒïŒOLEïŒnet48ïŒïŒæ¢å®ã¯ SQL Serverã察å¿ãã ConnectionString_<ã³ãŒã> ãããŒããæ¢å®ãã³ãã¬ãŒãã®æåïŒçºãè
ãã«ã¹ã¿ãã€ãºå¯ïŒ |
actionType ã¯èªç±æååïŒãµã³ãã«èŠçŽïŒäœè
ææïŒ |
actionType ã®æžåŒã¯ãã¬ãŒã ã¯ãŒã¯ä»æ§ã§ã¯ãªãæ¥åã³ãŒããè§£éããèªç±æååã ãã¬ãŒã ã¯ãŒã¯ïŒæ¢å®ãã³ãã¬ãŒãïŒãèªãã®ã¯ [0]ïŒDBMSïŒã ãããµã³ãã«ã®èŠçŽã¯ DAP%MODE1%MODE2%EXROLLBACKïŒ[0]=DBMSã[1]=Daoçš®å¥ïŒcommon/generate/ä»ïŒã[2]=ã¯ãšãªçš®å¥ïŒstatic/dynamicïŒã[3]=ããŒã«ããã¯ãã¹ãïŒBusiness/System/Otherã§äŸå€ã¹ããŒïŒã[1] 以é㯠WSServer_sample ã® LayerB/LayerD ã switch ã§åå²ïŒActionType.Split('%')[1..3]ïŒãåœåãDBMSéžæïŒãã¬ãŒã ã¯ãŒã¯ã®ä»çµã¿ããšæžããããã®ãæ¯æ£ãp-call-business ã«èšè¿° |
CmnDao ã® SQL æå® |
SQLFileName/SQLTextããããã£ãSetSqlByFile2()ãçŽåŒã³ãããšå®è¡æã«BusinessSystemException |
DELCMA |
ååŸã®ã«ã³ããåé€ïŒç¡ããªããŸã§ç¹°ãè¿ãïŒãæ«å°Ÿã ãã§ã¯ãªã |
.sql/.xml ã®ã³ã¡ã³ã |
ã³ã¡ã³ãå
ã« @P1 ãšæžããšãšã©ãŒãäœè
èªèº«ãå
šè§ïŒ ã§åé¿ããŠãã |
PARAM ã¿ã° |
DPQuery_Tool çšã®ãã¹ãå€å®çŸ©ãå®è¡æã«åé€ããã |
| ãã¬ãŒå | 宿°ããªãæååçŽæžããã¿ã€ãããŠãã³ã³ãã€ã«ã»å®è¡æãã§ãã¯ãéãããã°ãæ¶ãã |
GetConfigParameter |
coreç³»ã¯InitConfiguration()å¿
é ãåŒã°ãªããšArgumentExceptionãGetAnyConfigValue/GetAnyConfigSectionã¯coreå°çš |
UserInfoHandle |
GetUserInformation<T>()ã¯coreå°çšãGetUserInformation()ã¯net48å°çšãååã§ã·ã°ããã£ãéã |
| èªèšŒ | .NETã®èªèšŒãšOpenTouryoã®ãŠãŒã¶æ
å ±ïŒSetUserInformationïŒã®äž¡æ¹ãå¿
èŠãçæ¹ã ãã ãšèªèšŒã¯éãããŠãŒã¶æ
å ±ãç¡ãïŒãŸãã¯éïŒ |
| èªèšŒã®æ¹åŒå·® | Web Forms ãš MVCïŒnet48ïŒã¯ Forms èªèšŒã§ãweb.config ã®èšè¿°ãåäžãæå±€ã¯ net48 ãš Core ã®éïŒCore 㯠Cookie èªèšŒãweb.config ãç¡ãïŒ |
| På±€ã®å®è£ ã¢ãã« | Web Forms / Windows Forms 㯠UOC ã¡ãœããæ¹åŒãMVC 㯠UOC ãæããªãïŒMVC æšæºã®ãã£ã«ã¿ã«ä¹ãïŒã芪ã¯ã©ã¹1 ã® UOC å®çŸ©æ°ã¯ 15 / 12 / 0 |
| ã³ã³ãããŒã«åã®æ¥é èŸ | åœåèŠçŽã§ã¯ãªãæ©èœã èšå®ïŒFxPrefixOfButton = btn ç14çš®ïŒããæ¥é èŸãèªã¿ãã³ã³ãããŒã«ããªãŒãèµ°æ»ããŠã€ãã³ããèªåçµç·ãããèŠçŽããå€ãããšçºç«ããªãïŒ.aspx ã« OnClick ãæžããªãïŒ |
| ãã³ãã©ã®ã€ãã³ãå | æ¥é èŸã ãã§ãªãã€ãã³ãåãã³ã³ãããŒã«çš®å¥ã§åºå®ã UOC å㯠UOC_<æ¥é èŸ+åå>_<ã€ãã³ãå>ãã€ãã³ãåã¯çš®å¥ããšã«æ±ºãŸã£ãŠããïŒãã¿ã³ç³»ïŒClick / ããã¹ãããã¯ã¹ïŒTextChanged / ããããããŠã³ã»ãªã¹ãç³»ïŒSelectedIndexChanged / ã©ãžãªã»ãã§ãã¯ããã¯ã¹ïŒCheckedChanged / ãªããŒã¿ïŒItemCommand / GridViewã»ListViewïŒè€æ°ïŒRowUpdating çïŒãFxLiteral.UOC_METHOD_FOOTER_* 宿°ãš BaseController / BaseControllerWin ã®çµç·ã§ç¢ºèªã_Click ã¯äžèœã§ã¯ãªãïŒããã¥ã¡ã³ãèªè§£ã ãã§ã¯ _Click ã ããäŸç€ºããã¡ã§ãããã穎ã«ãªã£ãŠããïŒ |
| På±€ã€ãã³ã察å¿ã®æ¡åŒµïŒäœè ã®è£è¶³ïŒ | 察å¿ã³ã³ãããŒã«ã»ã€ãã³ãã¯åºå®ã§ã¯ãªãã MyBaseController / MyBaseControllerWinïŒèŠªã¯ã©ã¹2ïŒã® addControlEvent ã«å®è£
ãè¶³ãã°æ¡åŒµã§ããïŒCheckBox èªäœããã®å®äŸã§ã芪ã¯ã©ã¹1 ã§ã¯ãªã芪ã¯ã©ã¹2 åŽã§çµç·ïŒãæ¡åŒµã¯çºãè
ã®äœæ¥ãªã®ã§ã¹ãã«ã«ã¯æé ãæžãããååšãšç¢ºèªãã ã眮ããïŒç¢ºèªæ¹æ³ïŒæäŸã³ãŒãã® addControlEvent ãèªã â project-policyïŒãæªå¯Ÿå¿ã®ã³ã³ãããŒã«ã»ã€ãã³ã㯠.NET æšæºã®çµç·ã§ãæžãããããã®å Žåãã¬ãŒã ã¯ãŒã¯ã®äŸå€åŠçïŒUOC_ABEND ã®æ¯æ¿ã»å
±éãšã©ãŒç»é¢ïŒãšã¢ã¯ã»ã¹ãã°ãéããªã â éçºè
ãç¥ãã¹ããã¬ãŒããªããwebforms/winforms ã®äž¡æ¹ã«æ³šèšãã |
| 2å±€C/S ã®ãã©ã³ã¶ã¯ã·ã§ã³ | BaseLogic2CS 㯠BaseLogic ãšå¥ç©ã ã³ãã¯ã·ã§ã³ã static ã§ã°ããŒãã«ãæ£åžžç³»ã®ã³ãããã¯æåïŒCommitAndClose()ïŒãæ¥åäŸå€ã§ã¯ããŒã«ããã¯ããªãïŒâ
â
æ¥åäŸå€æã®ããŒã«ããã¯ã¯èªåã«ããªããïŒãUOC_AfterTransaction ãåŒã°ããªããèšèšæå³ã¯ 4.4 ãåç
§ïŒå®è£
ã ãèŠãŠãçç±ã«ã¯å°éã§ããªãïŒ |
| 2å±€C/S ã® Bå±€ | æžãæ¹ã¯ Web/MVC ãšåãã èªåæ¯ãåãïŒLatebind.InvokeMethodïŒã»this.ReturnValueã»UOC ã®ã·ã°ããã£ã»çŽåŒã³ã¬ãŒãïŒWasCalledFromDoBusinessLogicïŒãŸã§äžèŽãéãã®ã¯ç¶æ¿å
ïŒMyFcBaseLogic2CSïŒãšãã©ã³ã¶ã¯ã·ã§ã³å¶åŸ¡ã®2ç¹ã ãïŒ2026-07-16 ã«å®è£
ã§å確èªïŒããã ã API ã«ã¯å·®ãããïŒDoBusinessLogicAsync ãç¡ãïŒåæç2ã€ã®ã¿ïŒïŒããŒä»ã DamïŒSetDam(key,dam) / GetDam(key)ïŒãç¡ãïŒDam ã¯ã¢ããªã§1ã€ïŒãUser ã®æ¯æ¿å
ã ReadCommitted ãªã®ã¯ MyFcBaseLogic ãšåã |
| æ¥é èŸã®çµç·ç®æ | 芪ã¯ã©ã¹1 ãšèŠªã¯ã©ã¹2 ã®2ç®æã«åãããã PREFIX_OF_CHECK_BOX ã ã MyLiteralïŒèŠªã¯ã©ã¹2 ã®å±€ïŒã«ãã芪ã¯ã©ã¹2 ã§çµç·ãæå¹ãªæ¥é èŸã¯ Web Forms ã14çš®ãWinForms ã6çš®ã ãïŒTextBox / GridView ç㯠WinForms ã§çµç·ãããªãïŒãFxPrefixOfCommand ã¯æªäœ¿çšïŒMobile Web ã®åæ®ïŒ |
| XMLå®çŸ©ãã¡ã€ã« | 6çš®ãšã DTD åã蟌ã¿ã»id ã®å
é ã«æ°åäžå¯ïŒXML ã® ID åïŒã»Fx* ããŒã§ãã¹æå®ãšããå
±éæ çµã¿ãMSGDefinition ã® %1/%2 㯠GetMessage ã§ã¯ãªã På±€ã®èŠªã¯ã©ã¹2 ã眮æïŒããã MyBaseControllerïŒWeb Forms ã«ããå®è£
ãç¡ããå®è£
ã³ã¡ã³ãã« æ¹åŒã¯ããããžã§ã¯ãæ¯ã«æ€èšã®ããšãïŒãSCDefinition ã® mode 屿§ã¯ DTD ãšå®æ°ã ããã£ãŠèªãå®è£
ãç¡ãïŒæ©èœããŠããªãïŒ |
| ã»ãã·ã§ã³ç Žæ£ã®ã¿ã€ãã³ã° | ãã°ã¢ãŠãã§ã¯ãªãããã°ã€ã³ç»é¢ã«å
¥ããšããã« FxSessionAbandon() ã§æ¶ãèšèšãDeleteUserInformation() ã¯éåžžäžèŠãCore ã ã Session.Clear()ïŒä»ã¯ Session.Abandon()ãISession ã« Abandon() ãç¡ãããïŒ |
| 芪ã¯ã©ã¹2 ã® abstract å·® | Web Forms ã® MyBaseController 㯠abstractïŒUOC_FormInit ãå®è£
å¿
é ïŒã ããMyBaseControllerWin ã¯å
·è±¡ïŒç©ºå®è£
æžã¿ã§ override ä»»æïŒ |
| net48 MVC ã®èªå¯ | web.config ã® <authorization> ãš [Authorize] ã®äºæ®µæ§ãã屿§ã ãã§ã¯ãªãïŒWeb Forms ã® <location> ã«çžåœããã®ã屿§ïŒ |
| Core ã®å¿ é æ§æ | Startup ã§ services._AddHttpContextAccessor() / app._UseHttpContextAccessor() ãåŒã°ãªããš UserInfoHandle ãåããªãïŒMyHttpContext.Current.Session ã«äŸåïŒãå¿ããŠãã³ã³ãã€ã«ã¯éããå
é ã® _ ã¯èª€èšã§ã¯ãªã |
resource ãã¹ã¯ç°å¢å€æ°æ¹åŒïŒå®æž¬ãã£ãŒãããã¯ã§å€æã»ResourceLoader ã§ç¢ºèªïŒ |
çžå¯Ÿãã¹ïŒresource\...ïŒã¯äžå¯ã ResourceLoader.Exists ã¯èšå®å€ããã«ãã¹åæã§ File.Exists ã«æž¡ããçžå¯Ÿã¯ããã»ã¹ã®ã«ã¬ã³ãåºæºïŒIIS Express/w3wp ã§ã¯ã¢ããªå€ã§ 500ã解決ã®çŽåã« StringVariableOperator.BuiltStringIntoEnvironmentVariable ã %ç°å¢å€æ°% ãå±éããã®ã§ã%OT_RESOURCE_ROOT%\...ïŒãªããžããªçŽäž resource\ ãæããŠãŒã¶ç°å¢å€æ°ãã»ããã¢ãã ã¹ã¯ãªããã§èšå®ïŒã«åŒµãæ¿ããã坿¬æ§ãä¿ãŠããproject-setup ⥠ãçžå¯Ÿâç°å¢å€æ°æ¹åŒã«æ¯æ£ïŒäœè
æ¿èª 2026-07-17ïŒ |
ãã³ã察象㯠Build_*\ ã® DLL å
šéšïŒåäžã»csproj ã§ç¢ºèªïŒ |
OpenTouryo.* ã ãã§ã¯ãªãã net48 WebForms_Sample ã® MySql.Data / Oracle.ManagedDataAccess 㯠packages.config ã«ç¡ã HintPath ãä»ãµã³ãã«ã®ãã«ãåºåïŒWS_sample\BuildïŒãæããã NuGet é埩å
ãåºç€ãã«ãåºå Build_net48\ ã«å梱ïŒOpenTouryo.DamMySQL / .DamManagedOdp ã®äŸåïŒãããã®ã§ããããã OpenTouryo.* ãšåæ§ã«ãã³ãå
ãžåŒµãæ¿ããããè§Šããªããã®ã¯ NuGet 埩å
ããã 3rd-party ã ã |
net48 㯠nuget restore ãå¿
é ïŒåäžã»å
¬åŒ 10_Build_WebApp_sample.bat ã§ç¢ºèªïŒ |
packages.config æ¹åŒã¯ msbuild ã®åã« nuget restore <sln>ïŒmsbuild /t:restore ã§ã¯åŸ©å
ãããªãïŒãnuget.exe 㯠ZIP 忢±ã® root\programs\nuget.exe ãæµçšãproject-setup ⊠ã«è¿œèš |
| 3å±€ãµã³ãã«ã®2å±€åã¯ã»ããã¢ããç¯å²å€ïŒäœè æ¹é 2026-07-17ïŒ | WebForms_Sample 㯠3å±€æ§æã§ãZIP ã«ç¡ãä»ãµã³ãã«ã®ãã«ãåºåïŒWSServer_sample.dll / WSIFType_sample.dllïŒã«äŸåããåäœã§ã¯ as-is ã§ãã«ããéããªãããšããããåœåã¹ãã«ã«ã3å±€éšåãåãã詳现æé ãæžãããäœè
ããªãŒããŒã¹ããã¯ãšå€æïŒã»ããã¢ããã®åœ¹å²ã¯ãåãåºãã»åç
§ã»ãªãœãŒã¹ã»config ãæŽããŠãœãªã¥ãŒã·ã§ã³ãéããç¶æ
ããŸã§ãå±€ã®åæšã»æ¹å€ã¯å©çšè
ããœãªã¥ãŒã·ã§ã³ã俯ç°ããŠå¥éãšãŒãžã§ã³ãã«äŸé ŒããåŸå·¥çšã«å§ããã»ããã¢ããäžã«å€æãæ±ããªããã¹ãã«ã¯çããç¯å²å€ã泚èšã«çœ®æãåãå Žåã®å®åç¥èïŒåèïŒïŒ2å±€ç»é¢ sampleScreen_cc.aspx.cs ã using WSIFType_sample; ã§ WS åŽã®åïŒTestParameterValue çïŒãæŽãã§ãããååã¯ã©ã¹ã忢±ãœãŒã¹ïŒAppCode\sample\Common\ãusing MyType;ïŒã«ããããã using MyType; ã«å·®ãæ¿ããåšèŸºïŒ3TierTableAdapterã»3å±€å°çšBå±€ GetMasterData.csã»menu ã®ãªã³ã¯ïŒãé€å»ã確å®ãªã®ã¯ WS åç
§ãå€ã㊠CS0246 ãæœ°ãæé |
| net48 config ã®ç¶Žãã¯å®ãã©ã«ããšäžäžèŽïŒåäžã»app.config ã§ç¢ºèªïŒ | net48 ãµã³ãã«ã® app.config 㯠resource\XML\...ïŒå€§æåïŒã»resource\testïŒå°æåïŒã ãå®ãã©ã«ã㯠Xml / TestãWindows ã§ã¯é¡åšåããªãã Linux ã§ core ãåãããªãå®ãã©ã«ãåŽã« config ãåããããåœåã¹ãã«ã®ãnet48 㯠Xmlãã¯éã ã£ãã®ã§æ¯æ£ |
| ãã³ãå ãã¹ã®èµ·ç¹ïŒåäžïŒ | Build_* ã®çæå Žæã¯ <extract>\root\programs\CS\Frameworks\Infrastructure\ãã¹ãã«ã® xcopy å
ã¯èµ·ç¹ root\programs\CS\ ãçããŠããã®ã§æç€º |
| 芪ã¯ã©ã¹2 ã®æåšãšãã«ãïŒäœè ææ¡ã§ã¹ãã«åïŒ | 芪ã¯ã©ã¹2ïŒFrameworks/Infrastructure/BusinessïŒMy* 矀ãOpenTouryo.Business(.RichClient)ïŒã芪ã¯ã©ã¹1 ã® UOC_* å
±éããã¯ã override ããŠæ¥ç¶ã»äŸå€ã»ã©ã€ããµã€ã¯ã«ã»ç»é¢åæåãæ³šå
¥ããã«ã㯠3_Build_Business_*ïŒ2_Build_NuGet_* ã®åŸïŒãopentouryo-base2-customizeïŒçºãè
åãã»äœãåŽïŒãæ°èšãproject-policyïŒèªãåŽïŒãšå¯Ÿ |
ã»ããã¢ããã§ .gitignore ãçæïŒäœè
ææ¡ 2026-07-17ïŒ |
Temp/ïŒZIP å±éã»åºç€ãã«ãã®äœæ¥ããªãŒãäžžããšã®åºç€ãœãŒã¹ïŒèŠªã¯ã©ã¹2 ãå«ãïŒãé€å€ãæšæº .NET çæç©ïŒbin//obj//packages//.vs//*.userïŒããOpenTouryoAssemblies/ïŒãã³ã DLLïŒã¯é€å€ããªãïŒã³ãããïŒ |
| 芪ã¯ã©ã¹2 ä¿®æ£ã®ããŒãžã§ã³ç®¡çïŒãªãŒããŒã¬ã€ïŒåºå®ã¿ã°ïŒäœè æ±ºå® 2026-07-17ïŒ | äžžããšã§ã¯ãªãä¿®æ£ãã¡ã€ã«ã ããå
ãã¹ä¿æã§ base2-overlay/ ã«çœ®ãã³ãããïŒã¢ã㪠ãªããžããªåå±
ïŒããã«ãã¯åºå®ã¿ã°å±éããªãŒãž xcopy base2-overlay\* â <extract>\root\programs\CS\ ããŠãã 3_Build_Business_*ãDLL ã¯ãåºå®ã¿ã°ïŒãªãŒããŒã¬ã€ãã§åçŸå¯èœãdevelop äžå¯ïŒåå°ãåãïŒãè€æ°ã¢ããªå
±ææã®ã¿çºãè
å°çšãªããžããªãbase2-customize / project-setup ã«åæ |
| çæã¹ã¯ãªãããå®ç°å¢ã§3å倱æïŒå®æ©æ€èšŒ 2026-07-18ïŒVS2026 / .NET SDK 10.0.302 / ã³ã³ãœãŒã« CP65001ïŒ | åºç€ãã«ã ããããé察話ã§åããš3ç¹ã§åµããâ æ«å°Ÿ pause ã§å
¥ååŸ
ã¡åæ¢ â < nul ã§æšæºå
¥åãå¡ããâ¡çæ .bat ã®å
šè§ã³ã¡ã³ãïŒecho ã UTF-8ïŒchcp 65001ïŒã³ã³ãœãŒã«ã§ç ŽæãçŽåŸã® %倿°% å±éããšå£ãã â ASCII éå®ãâ¢NoDefaultCurrentDirectoryInExePath=1 ç°å¢ã§ .\ ç¡ãã® call ããèªèãããªããã§å€±æ â call .\<bat> ãšæç€ºãæš¡ç¯ 3_BuildLibsAtOtherRepos.bat ã«ã泚èšãç¡ãèžããproject-setup ⢠ã«3ç¹ãè¿œèš |
WebForms_Sample ã® Web.config endpoint ã¯3å±€åºæã§ãªãïŒå®æ©æ€èšŒ 2026-07-18ã»äœè
ãž B å ±åïŒ |
åœå project-transform ã®ãåããã« Web.config endpoint ãæããã誀ããsystem.serviceModel ã® endpoint 㯠3å±€ãµã³ãã«ïŒWSServer_sampleïŒçšã§ã¯ãªããã¬ãŒã ã¯ãŒã¯ã® Transmission WCF èšå®ïŒIWCFHTTPSvcForFx / IWCFTCPSvcForFxïŒãš IJSONServiceãWSServer_sample 㯠DLL åç
§ã§ã€ã³ããã»ã¹åŒã³åºãããå°çš endpoint ãæããªããæ¶ããš2å±€åã«äžèŠãã€å®è¡ææ§æãå£ããããªã â ãè§Šããªããã«æ¯æ£ãtransform ã®ä»é
ïŒusing WSIFType_sample;âusing MyType; ã®çœ ã3å±€ç»é¢ã»3TierTableAdapterã»GetMasterData.csã»menu ãªã³ã¯é€å»ïŒã¯å®æ©ãšå®å
šäžèŽã§æ£ç¢ºã ã£ã |
| VS ãšãã£ã·ã§ã³ã«ãã msbuild 解決ã¯å©çšåŽã§å¯ŸåŠïŒå®æ©æ€èšŒ 2026-07-18ã»äœè å€æïŒ | æ¬äœã® z_Common.bat 㯠VS18 系㧠18\Community ããèŠãªãïŒVS2022 ãŸã§ã¯ Community/Professional/Enterprise ç¶²çŸ
ïŒãVS18 ã® BuildTools/Professional/Enterprise ã ãã ãš BUILDFILEPATH ã空ã«ãªãåºç€ãã«ãã倱æãããåœå C ãšããŠæ¬äœå ±ååè£ã«ããããæ¬äœã¯ãšãŒãžã§ã³ã/CIã»æ°ãã VS ãšãã£ã·ã§ã³ã§ã®é察話ãã«ããæ³å®ããŠäœãããŠããªãããæ¬äœã®äžå
·åã§ã¯ãªãå©çšåŽïŒãã®ã»ããã¢ããïŒã§å¯ŸåŠããåæãšããïŒäœè
倿ïŒâ Issue åããªãã察åŠïŒãã«ãåã« msbuild ã解決ã§ããããšã確èªããé§ç®ãªã Community å°å
¥ïŒmsbuild ã®ãã¹éãïŒz_Common.bat ãžèªç°å¢ãã¹è£æ£ã泚èšã¯ opentouryo-project-setup-buildïŒæ§ setup-script.mdïŒã®ãVS ã®ãšãã£ã·ã§ã³ã»ããŒãžã§ã³ã«ãã msbuild 解決ãç¯ãž |
| 宿©ã§è¿œèªã§ããæ¢åææïŒå®æ©æ€èšŒ 2026-07-18ã»DïŒçŽããªã確èªïŒ | 次ã¯ã¹ãã«èšè¿°ã©ããã§æ£ããã£ãïŒâ€3rd-party DLL åŒµãæ¿ãïŒMySql.Data/Oracle.ManagedDataAccess 㯠NuGet é埩å
ã§ãã³ãå
ãžïŒïŒâ¥config ç¶Žãã®çœ ïŒXML/testâå®äœ Xml/TestïŒïŒâ¥ç°å¢å€æ°æ¹åŒïŒ%OT_RESOURCE_ROOT%\... ã ResourceLoader ãå±éã IIS Express ã§è§£æ±ºïŒïŒâŠnet48 㯠msbuild åã« nuget restore <sln> å¿
é ã»nuget.exe 㯠ZIP ã® root\programs\nuget.exe æµçšïŒã3å±€ãµã³ãã«ã¯ as-is ã§éããªãããšãããã»2å±€åã¯åŸå·¥çšãã®åãåãã倿ŽäžèŠ |
| â ã®è¡šã WS/3å±€äŸåãµã³ãã«ãæç€ºããŠããªãã£ãïŒå®èµ° 2026-07-18 Web Forms/net48/tag 03-20ã»AïŒ | WebForms_Sample ã¯åãåºãçŽåŸã« sampleScreen_cc.aspx.cs ã WSIFType_sample/WSServer_sampleïŒWS_sample\Build åºåïŒãžäŸåã CS0246 ãå¿
ãæ®ããç·è«ã®ã3å±€ãµã³ãã«ã®æ±ããç¯ã¯ãã£ããâ ã®è¡šã«å°ãç¡ããå©çšè
ããWeb Forms ãéžãã ã®ã« as-is ã§éããªãããšé¢é£ãããâ â 衚㫠ãWS/3å±€äŸåãåã远å ïŒWebForms_SampleïŒç¢ºå®è©²åœã»å®æž¬ãä»ã¯æªç¢ºèªïŒã衚çŽäžã«å°éç¹ïŒããœãªã¥ãŒã·ã§ã³ãéããç¶æ
ãã§ as-is ã¯ãªãŒã³ãã«ãã¯ä¿èšŒããªããåæç€ºãåæžã¯ transform |
| é察話ãã«ãã§è¿œå 2 footgunïŒPowerShell ã©ããæ¢å®æšå¥šïŒå®èµ° 2026-07-18ã»BïŒ | æ¢ç¥3泚æã¯çäžãå®èµ°ã§2ã€è¿œå ïŒâ if(...) ãããã¯å
echo ã®æªãšã¹ã±ãŒã ) ã§ãããã¯ãæ©æã«éãåŸç¶ goto :error ãç¡æ¡ä»¶å®è¡ïŒãã«ãæåã§ã Step 3 ã§å€±æã«èŠããïŒâ ^) ã«ãšã¹ã±ãŒããâ¡Bash/MSYS çµç± cmd //c ".\x.bat" 㯠Windows 絶察ãã¹åŒæ°ã MSYS 倿ãã if exist "D:\..." ãå®åšãã©ã«ãã MISSING 誀å€å® â PowerShell ã® cmd /c ããå®è¡ã§æ£åžžãâ opentouryo-project-setup-buildïŒæ§ setup-script.mdïŒã®æ³šæã«2ç¹è¿œèšïŒ**ããšãŒãžã§ã³ã/CI 㯠PowerShell ã©ãããæ¢å®æšå¥šïŒå .bat 㯠cmd /cïŒãç¯**ãæ°èš |
| 4ãããé æ¬¡å®è¡ã¯åäžã©ã³ã¿ã€ã æšçã«éå°ïŒå®èµ° 2026-07-18ã»CïŒ | â ã§ã¯ Web FormsïŒnet48 ã®ã¿ã§ netcore100 ã®åºç€ãã«ãã¯äžèŠïŒç¡é§ãªæéãšå€±æé¢ãå¢ããïŒãä»å㯠net48 ã®2ãããã«ã¹ã³ãŒãããŠåé¡ãªã â project-setup ⢠㚠opentouryo-project-setup-buildïŒæ§ setup-script.mdïŒã ãæšçãµã³ãã«ã®ã©ã³ã¿ã€ã ã®ãããã ãåãïŒäž¡å¯Ÿå¿ãèŠããšãã ã4æ¬ïŒã ã«æ¯æ£ |
| net48 Web Forms ã® config äºæ®µæ§æïŒå®èµ° 2026-07-18ã»D è»œåŸ®ïŒ | å®å¹ config 㯠Web.config ã ãããã¹ç³»ããŒã¯ <appSettings file="app.config"/> ã§èªã app.config åŽãæ¥ç¶æåå㯠Web.config çŽäžããšåããããâ¥ã®ãapp.config/appsettings.json ã®ãã¹ç³»ããŒãã¯çµæçã«æ£ãããåèŠã ãš Web.config ãæ¢ããŠè¿·ã â â¥ã«äžæè¿œèš |
project-setup ãåå²ïŒäœè
ææ¡ã»2026-07-18ïŒ |
容éã¯åå²åãç®å®å
ïŒâ¢è©³çŽ°ã¯æ¢ã«å€éšãã¡ã€ã«åæžã¿ïŒã§ãåå²ã®çãã¯åé床ãšåå©çšæ§ãäœè
æ¡ã¯3éå±€ïŒbuild / pickout / pickout-webformsïŒã ã£ãããper-sample ã¹ãã«ã¯çŸç¶ WebForms ãã宿ž¬ãç¡ã空ã¹ãã«ã®ä¹±ç«ã«ãªãããèŠéãã2ã¹ãã«ïŒåç
§ãã¡ã€ã«ã«èœãšãïŒåæïŒãâ â¢åºç€ãã«ãïŒãµã³ãã«éäŸåã»äžåºŠäœãã°äœ¿ãåãã»åç¬èµ·åå¯ãªã®ã§ opentouryo-project-setup-build ãžææ ŒïŒsetup-script.md ãææ ŒããŠåé€ïŒãâ¡project-setup ã¯å
¥å£ãªãŒã±ã¹ãã¬ãŒã¿ïŒâ â¡â£â€â¥âŠïŒãšããŠæ®ã眮ããâ¢ã¯ build ã¹ãã«ãžå§è²ãâ¢ãµã³ãã«åºæã®ç㯠samples/<name>.md åç
§ãã¡ã€ã«å
è¡ïŒsamples/webforms.mdïŒWS/3å±€äŸåã»configäºæ®µãå
容ãè²ã£ãã -sample-* ã¹ãã«ãžææ ŒïŒãã€ã³ã¹ããŒã©ã¯ Copy-Item ...\* -Recurse ã§ãã£ã¬ã¯ããªäžžããšæŸããã samples/ ãèªå忢±ãå
š29â30ã¹ãã«ãAGENTS.md 衚ã»README äžèЧã»Â§3 ã€ã³ãã³ããªã«åæ |
| WS/3å±€äŸåã®è§£æ¶ã¯ã2å±€åãäžæã§ã¯ãªãïŒ3å±€ç¶æã«ãŒããææåïŒäœè ææã»2026-07-18ãå®ãœãŒã¹ã§ç¢ºèªæžã¿ïŒ | ãããŸã§ webforms.mdïŒproject-setup â ã»â¢æ³šèšã¯ CS0246 ã®è§£æ¶ã (B) 2å±€åïŒtransform ã ãã§æžããŠãããã ã reference/csharp/ ã®å®ãœãŒã¹ã§ç¢ºèªïŒWebForms_Sample.csproj 252-256 㯠WSIFType_sample / WSServer_sample ã ..\..\..\WS_sample\Build\*.dll ãšããŠåç
§ããsampleScreen_cc.aspx.cs:21 ã using WSIFType_sample;ãç¡ãã®ã¯ãã«ãåºåã ãã§ãWS_sample\WSIFType_sample / WS_sample\WSServer_sample ã®ãœãŒã¹ã¯å®åšïŒWSServer 㯠..\WSIFType_sample ã ProjectReferenceãäž¡è
ã®åç
§ã¯ OpenTouryo.Business/.Framework(/.Public) ã®ã¿ã§è¿œå 3rd-party ç¡ãïŒããã«ãåºå㯠WS_sample\Build\ïŒWSIFType_sample.dll/WSServer_sample.dllïŒã«èœã¡ãïŒäœè
確èªãcsproj ã® OutputPath 㯠bin\Release\ ã ãå®åºåå
ã¯å€éšãã«ã ã¹ã¯ãªãããæ±ºããïŒAfterBuild/PostBuildEvent ã¯ç©ºïŒãWebForms åŽã®åç
§ã¯ãã®ãŸãŸ WS_sample\Build\*.dll ãæãã®ã§åãçŽãäžèŠããã£ãŠ (A) 3å±€ã®ãŸãŸéãïŒWS ãåãåºãâ€ãšåãèŠé ã§ OpenTouryo.* ãåŒµãæ¿ããŠãã«ãããã ãã§ CS0246 ãæ¶ããïŒWeb.config endpoint 㯠Transmission èšå®ãªã®ã§è§ŠããªãïŒãæ£åœã§ãåãåºãã»åç
§åŒµãæ¿ãïŒã»ããã¢ããã®ç¯å²ã§å®çµãããâ samples/webforms.md ã (A)/(B) 䜵èšïŒ(A) ã¯å®èšŒæžã¿å
·äœæé ïŒã«ãproject-setup â æ³šèšãšã3å±€ïŒWCF/WSïŒãµã³ãã«ã®æ±ããç¯ãäž¡ã«ãŒã䜵èšã«æ¯æ£ |
ã¢ã»ãã repo ã« C# å®ãœãŒã¹ã®ãã©ãŒ files/csharp/ ãããïŒäœè
æç€ºã»2026-07-18ãåœå reference/csharp/âfiles/csharp/ ãžç§»åïŒ |
files/csharp/ïŒFrameworks / NuGet / Samples / Samples4NetCoreïŒã« OpenTouryo æ¬äœã®å®ãœãŒã¹ããã©ãŒãããŠããïŒäŸïŒSamples/WS_sample/{WSIFType_sample,WSServer_sample,WSClient_sample,ASPNETWebService}ã»Samples/WebApp_sample/{MVC_Sample,WebForms_Sample}ã»Frameworks/Infrastructure/...ïŒãã¹ãã«ã®äž»åŒµïŒcsproj ã®åç
§ã»HintPathã»usingã»ãããžã§ã¯ãäŸåã»åãåºãããµã³ãã«ã®ç¶²çŸ
ïŒã¯ããã§è£åãã§ããããã«ãåºåïŒBuild\ çïŒã¯çæç©ãªã®ã§ãã©ãŒã«ã¯ç¡ãç¹ã«æ³šæãâ» ãã®ãã¹ã¯ã»ãã·ã§ã³éäžã« reference/csharp/ ããç§»åïŒã¡ã¢ãª reference-csharp-source-mirror ãæŽæ°æžã¿ïŒã以é㮠§ã§ãreference/csharp/ããšæžãããç®æã¯çŸ files/csharp/ ãæã |
| â 衚ã«**3å±€ãªããã¯ã©ã€ã¢ã³ãïŒWS ã¯ã©ã€ã¢ã³ãïŒ**ã远å ïŒäœè æç€ºã»2026-07-18ãå®ãœãŒã¹ç¢ºèªïŒ | WS/3å±€äŸåãµã³ãã«ã¯ WebForms ã ãã§ãªã Samples\WS_sample\WSClient_sample äžåŒïŒWSClientWin_sample/WSClientWPF_sample/WSClientWin2_sample/WSClientWinCone_sampleããããã OutputType=WinExeã»net48ãWSIFType_sample/WSServer_sample ã ..\..\Build\*.dll åç
§ïŒæ§æäžã® 3å±€äŸåïŒã.NET Core çã Samples4NetCore\Legacy\WS_sample\WSClient_sample\ ã«ãããâ â 衚ã«ã3å±€ãªããã¯ã©ã€ã¢ã³ãïŒWS/WCF çµç±ã»WinForms/WPFïŒãè¡ã net48ïŒ.NET10 ã§è¿œå ïŒWS/3å±€äŸåïŒããã»æ§æäžå¿
é ïŒãâ æ³šèšã®ã確å®è©²åœãã WebFormsïŒWSClient 2ç³»çµ±ã«æ¡åŒµãWSClient 㯠3å±€ã§äœ¿ãåæãªã®ã§ (A) ãæ¬çã»(B) 2å±€åã¯é該åœãPå±€ãªããã¯ã©ã€ã¢ã³ã㯠richclient-asyncïŒlayer-p-winforms-screen ãåç
§ |
| SKILL-FEEDBACK.md å®èµ°ïŒWebForms/net48/tag 03-20ã»VS18 Communityã»SDK 10.0.302ã»æ·±ããªã ãã¹77åã»2026-07-18ãIIS Express èµ·åïŒDB æ¥ç¶ãŸã§å°éïŒ | feedback/SKILL-FEEDBACK.mdãåæ ïŒ(3)factual errorïŒWS_sample ã®å ŽæïŒåœå webforms.mdãWebApp_sample é
äžãã¯èª€ããæ£ãã㯠Samples\WS_sampleïŒWebApp_sample ã®å
åŒãHintPath ..\..\..\WS_sample\Build ã Samples\WS_sample\Build ã«è§£æ±ºïŒâ webforms.md ä¿®æ£ã(4)ãWS ããã«ãããã° CS0246 ãæ¶ãããã¯äžååïŒmsbuild WSServer_sample.sln ã¯å bin\Debug\ ã«åºãŠ WS_sample\Build\ 㯠.sln çŽãã«ãã§çæãããªã â ãã«ãåŸã« bin\Debug ã® WSIFType_sample.dll/WSServer_sample.dll ã WS_sample\Build\ ãžã³ããŒïŒïŒDB DLL ããã³ãå
ããïŒãŸã§å¿
é ãwebforms.md (A)ã»â€ã»ã3å±€ãµã³ãã«ã®æ±ããã«é
眮æé ãæèšïŒå
ã®ãäœè
確èªïŒBuild\ ã«èœã¡ããã¯æ¬äœã®å€éšãã«ã ã¹ã¯ãªããçµç±ã®è©±ã§ã.sln çŽãã«ããšã¯å¥ïŒã(1)MAX_PATH(260)ïŒæ·±ããªãçŽäžã ãš net48 Business ãã«ãã MSB3553ïŒé·ã .resources å®å
šä¿®é£Ÿãã¹è¶
éïŒâ setup-build ã«ãçãäœæ¥ã«ãŒã C:\ot ã§ãã«ãïŒlong pathãã(2)MAX_PATHÃnuget restoreïŒçžå¯Ÿé
çœ®ç¶æã ãš packages\...\analyzers\...\pt-BR\... ã§è¶
é â â€ã»webforms.md ã«ãæ·±ããªãã¯ãªãçŽäžãžãã©ããåã㊠HintPath 匵æ¿ãã(5)åœã®æåïŒãããã¯æ«å°Ÿ pause ã§ msbuild 倱æã§ã exit 0 â setup-build ã«ãexit code äžä¿¡ã»çæ DLL å®åšïŒOpenTouryo.Business.dllïŒã§å€å®ãã(6)æ¥é èŸã ãã§ãªãïŒãµã³ãã« HintPath 㯠âŠ\Build\ïŒãµãã£ãã¯ã¹ç¡ãïŒããã³ãå
㯠Build_net48\ ã§æ«å°Ÿãã©ã«ãåãå€ãã â â€æ¯æ£ã(7)FYIïŒ2_Build_NuGet_net48.bat 㯠Nuget_RichClient_net48.sln ãå¿
ããã«ãïŒRichClient DLL çæã»ç¡å®³ïŒâ â¡æ³šèšã(8)FYIïŒnet48 Web ã® sessionState mode="StateServer" 㯠ASP.NET State Service åæïŒäžèŠãªã InProcïŒâ âŠãåèå®è£
ïŒas-built PowerShell 2æ¬ã project-setup-build/examples.md ã«åé²ïŒsetup-build.ps1/build-app.ps1ãé圢åæãã©ã¡ã¿åïŒ |
WS/3å±€ã®å
±éæ©æ§ã webservices.md ãžåãåºãïŒäœè
ææ¡ã»2026-07-18ïŒ |
ãããŸã§ WS/3å±€ã®åãåºãã»ãã«ãã»Build\ é
眮ã»core å®çšäžå¯ã»MAX_PATH ã samples/webforms.md ã«åãæžããŠãããããããã¯ãµã³ãã«éäŸåã§ã以éå¢ãã WSClient_sample ã©ã€ã³ããããšå
±æãã¹ãå
±éæ©æ§ãâ samples/webservices.mdïŒå
±æ on-demandãsamples/ é
äžã«æããïŒäœè
ææïŒã«éçŽããsamples/webforms.md 㯠Web Forms åºæã®ã¿ïŒcc ç»é¢ã® CS0246ã»(B) ã® using WSIFType_sample;âusing MyType;ã»config äºæ®µïŒã«çž®å°ïŒ60â28è¡ïŒãSKILL.md ã®â 泚èšã»â€ã»ã3å±€ãµã³ãã«ã®æ±ããã¯ãå
±é㯠samples/webservices.mdïŒãµã³ãã«åºæã¯ samples/<name>.mdãã«æ¯æ£ãWSClient ã®ãµã³ãã« ã¡ã¢ãèµ·ããéã samples/webservices.md ãåç
§ããã |
| çã«ãŒã ãã«ã à 芪ã¯ã©ã¹2 ã«ã¹ã¿ãã€ãºã®äž¡ç«ïŒäœè ææã»2026-07-18ïŒ | MAX_PATH åé¿ã§åºç€ãã«ããçãäœæ¥ã«ãŒãïŒC:\ot\ïŒã§åããšã芪ã¯ã©ã¹2 ã«ã¹ã¿ãã€ãºã®å
ãœãŒã¹ Frameworks/InfrastructureïŒç¹ã« BusinessïŒãã¯ãŒã¯ã¹ããŒã¹å€ã®äœ¿ãæšãŠããªãŒã«ããæ®ããªãïŒbase2-overlay/ ã«æ®ãã®ã¯å·®åã ãïŒå·®åãèµ·ããïŒåœãŠãå
ãèŠãïŒãâ éåžžã¢ããªã¯ DLL ã ããã³ãã§åé¡ãªãã芪ã¯ã©ã¹2 ã«ã¹ã¿ãã€ãºæã®ã¿ãåºç€ãœãŒã¹ Frameworks/Infrastructure ãã¯ãŒã¯ã¹ããŒã¹ã«ãå±éããŠããïŒ.gitignoreã»ã³ãããã¯å·®åã®ã¿ã»ãã«ãã¯çã«ãŒãã§ïŒãopentouryo-project-setup-build §1 ã® MAX_PATH 泚èšã«äŸå€ã远èšãopentouryo-base2-customize ã®ããŒãžã§ã³ç®¡çç¯ã«ãåºç€ãœãŒã¹ã¯ã¯ãŒã¯ã¹ããŒã¹ã«ã眮ããïŒ xcopy äŸã Temp\ åºå®ãã <extract>ïŒçã«ãŒãå¯ïŒãžäžè¬å |
| project-setup SKILL.md ãããã«å§çž®ïŒâ€â¥ 詳现ã references/ ãžã»äœè
èŠæã»2026-07-18ïŒ | SKILL-FEEDBACK åæ ã§ 250è¡/cl100k 6830ïŒç®å®äžéä»è¿ïŒãŸã§èšåŒµãæ žå¿ïŒâ£â€ ã® HintPath åŒµãæ¿ãã»å
šäœãããŒïŒã¯ inline ã®ãŸãŸãééãããã edge caseïŒâ€ïŒã𿩿§è©³çްïŒâ¥ïŒã on-demand ã® references/ æ°èšãã©ã«ããžéé¿ïŒreferences/reference-rewrite.mdïŒæ¥é èŸã ãã§ãªãã»Build_* ã® DLL å
šéšïŒMySql/Oracle é埩å
ã»MAX_PATH ãã©ããåïŒãreferences/resource-config.mdïŒçžå¯Ÿäžå¯ã®çç±ïŒResourceLoaderã»%VAR% å±éã FxContainerization ãšå¥æ©æ§ã»ãã¹ããŒäžèЧã»ç¶Žãã®çœ ã»config äºæ®µïŒãconfig 㯠opentouryo-config ãžäžžæãããçžäºåç
§ïŒ%OT_RESOURCE_ROOT% ã®ãã¹å
%VAR% å±éãš FxContainerization ã®å€ãŸãããšäžæžãã¯å¥ç©ã®ããïŒãâ 217è¡/cl100k 5747ïŒâ Claude 4,300ã»ç®å®å
ïŒãsamples/ïŒãµã³ãã«å¥ãreferences/ïŒæšªæãªãã¡ã¬ã³ã¹ãã®2ãã©ã«ãã«æŽç |
| E2E å®è¡ã¬ããŒãïŒWebForms/net48/tag 03-20ã»VS18 CommunityïŒVS2022ã»SDK 10.0.302ã»2026-07-18ãå
šå·¥çšã¯ãªãŒã³ãã«ãïŒå®æ©åäœç¢ºèªæžã¿ïŒãã©ããåâ2å±€åâãµã³ãã«æŽçãæ® aspx 10ã»csproj 527è¡ïŒ | å
šã¹ãã«èšèŒã©ããééã远èªïŒsetup-build ã®ãexit code äžä¿¡ïŒOpenTouryo.Business.dll å®åšã§å€å®ãã»reference-rewrite ã®æ«å°Ÿãã©ã«ãå倿ŽïŒMySqlã»Oracle 匵æ¿ïŒãã©ããåã»webforms/webservices ã® (A) 3å±€ç¶æïŒbin\DebugâWS_sample\Build\ é
眮ïŒusing MyType;ã»resource-config ã® %OT_RESOURCE_ROOT%ïŒconfigäºæ®µã»âŠã® InProcïŒnuget restoreïŒãæ¹ååæ ïŒtransformïŒïŒâ æ¹è¡ LFïŒãµã³ãã«ã® csproj/config 㯠LFïŒGitHub ZIP ç±æ¥ïŒã§ CRLF åæã®è€æ°è¡çœ®æã倱æâåºæ¬æ¹éãâ¡é察話 PS ã¬ãŒã誀æ€ç¥ïŒRemove-Item ãš /> æçãåäžã³ãã³ãã«æ··ãããšãã·ã¹ãã ãã¹åé€ã誀æ€ç¥ã§ãããã¯âåé€ãšçœ®æãåããã»åºæ¬æ¹éãâ¢2å±€åã® DB DLLïŒWebForms csproj 㯠MySql.Data/Oracle.ManagedDataAccess ã WS_sample\Build\ åç
§ãå®å
š2å±€åã«ã¯èŠåŒµæ¿âãåããç¯ãâ£â
test* ã§ãå®ãã¹ã¿ïŒtestBlankScreen.master 㯠login/logout/menu/ErrorScreen/OAuth2 ã® MasterPageFileãtest* äžæ¬åé€ã§è¶³å Žå
šæ»
âæ°èšããµã³ãã«æŽçãç¯ïŒsamples/webforms.md ã«åºæåïŒæ®ãïŒtestBlankScreen.masterïŒCRUDïŒsampleScreen.masterïŒãâ€csproj 倧éåªå®ïŒãå®åšããªã Include ãæ¶ããXML DOM åªå®ïŒPreserveWhitespaceïŒç©ºçœããŒãé€å»ã»ã¯ã€ã«ãã«ãŒã/Reference é€å€ïŒâããµã³ãã«æŽçãç¯ |
| â¡ãåºå®ã¿ã°ãã§äŸç€º 03-20 ã匷å¶éžæãããïŒäœè
ãã£ãŒãããã¯ã»2026-07-18ïŒ | ååŸå
ã§ãåºå®ã¿ã°ïŒå®å®éçšïŒããéžã¶ãšããšãŒãžã§ã³ããäŸç€ºã® 03-20 ãåæã«æ¢å®å€ãšããŠäœ¿ããã©ã®ã¿ã°ãéžã¹ãªãã£ããâ¡ ã®è¡šããåºå®ã¿ã°ïœäŸ 03-20ããšäŸç€ºãåŒ±ãæžããŠããã®ãåå ãâ project-setup â¡ ã«ãåºå®ã¿ã°ãéžã°ãããå
·äœçãªã¿ã°çªå·ãå¿
ããŠãŒã¶ã«ç¢ºèªããã03-20 ã¯äŸç€ºã§æ¢å®å€ã«ããªãããæèšããã¿ã°äžèЧã®ç¢ºèªå
ïŒ.../OpenTouryo/tagsïŒã远å ãproject-setup-build ã®å
¥å衚ã»examples.md ã® $ref ã³ã¡ã³ãããäŸç€ºã»ãããžã§ã¯ãããšã«èšå®ãã«è£åŒ· |
| 芪ã¯ã©ã¹2 ã¹ãã«2æ¬ã Business å®ãœãŒã¹å
šã¹ãã£ã³ã§ç¶²çŸ
æ§æ€èšŒãæãã远è£ïŒäœè
äŸé Œã»2026-07-20ãC:\otr\OpenTouryo-03-20\...\Frameworks\Infrastructure\Business å
š .csïŒ | opentouryo-project-policyïŒèªãåŽïŒ/opentouryo-base2-customizeïŒäœãåŽïŒã¯ã³ã¢è«ç¹ïŒæ¥ç¶ã»äŸå€ã»ãã°ã»ã€ãã³ãçµç·ã»ãŠãŒã¶æ
å ±ã»ã¡ãã»ãŒãžïŒã¯æ£ç¢ºã ã£ããããïŒãã³ãã¬ãŒãïŒïŒèªç±ã«æ¡åŒµããŠå©çšã§ããããšæèšã®èŠªã¯ã©ã¹2 ã5ã8ã¯ã©ã¹äž¡ã¹ãã«æªèšåãšå€æãäœè
æå®ã®åªå
床ã§äžéãŸã§è¿œè£ïŒâ Common/MyParameterValueã»MyReturnValueïŒåŒæ°/æ»ãå€èŠªã¯ã©ã¹2ã»[Serializable]ïŒWS転éïŒâ¡Presentation/MyBaseAsyncApiController(±Core)ïŒWeb APIïŒPå±€åŠçæ¹åŒãäžžããšæ¬ èœã»EnumHttpAuthHeader ã® Basic/Bearer èªèšŒã»æš©é/éå¡ stubã»ACCESS/äŸå€ãã°ïŒâ¢RichClient/Asynchronous/MyBaseAsyncFuncïŒéåæèŠªã¯ã©ã¹2ã»UOC_*ã»CanOutPutLogïŒâ£RichClient/Util/RcMyCmnFunctionïŒWinForms ã®ã€ãã³ãçµç·ã»ShowErrorMessage*ïŒâ€Util/MySubsysInfoã»MyAttributeïŒãµãã·ã¹ãã åºåã»ç¬èªã¡ã¿å±æ§ïŒç¶æ¿/远å ã§æ¡åŒµïŒãbase2 ã¯å±€å¥ãããïŒå·®ã蟌ã¿ç¹è¡šãpolicy 㯠På±€åŠçæ¹åŒè¡šïŒç¢ºèªå°å³ïŒA衚ãžåæ ãã¹ã³ãŒãå€ïŒ_3TierEngine/CstSqlSessionStateProvider/CmnDao/BaseConsolidateDao/Mu*ã»_3Tier* Value/GMTMaster/MyTimeZone(internal)/MyMVCCoreFilterAttribute çïŒãã¬ãŒã ã¯ãŒã¯åŽã€ã³ãã©ã»çæç©ã»internalïŒãtokïŒbase2 3772â4306ãpolicy 3238â3573ïŒãããã auth 4952 å®çžŸäžéå
ïŒ |
| opentouryo-project-policy ã®æ€èšŒå®è¡ã¬ããŒã6ç¹ïŒâ ããŒãã«çŸè¡åãåæ ïŒå®æ©æ€èšŒã»2026-07-21ãoverlay ç¡ãã»Temp ç¡ãã»DLL ã®ã¿æ§æã§åå²ãå®èµ°ïŒ | æé »ã±ãŒã¹ïŒDLL ã®ã¿ïŒæªæ¹å€ç¢ºå®ïŒã§æé ãéåããåé¡çŸ€ãæ ¹ïŒâ ã®ãœãŒã¹æåšããŒãã«ãå€ãïŒTemp/OpenTouryo-<ref>/... ã ãæžãçã«ãŒã C:\otr\OpenTouryo-<ref>\root/programs/CS/... ãæ¬ ããäž¡è
ãšãäœ¿ãæšãŠïŒïŒ**<ref> ãæ§ç¯åŸ repo ã®ã©ãã«ãæ®ããªã**ïŒsetup-build ã¯å
¥åæ±ãã»å±éããªãŒäœ¿ãæšãŠãSETUP-CHANGES.md ã¯ãã·ã³å€æŽçšã§ã¿ã°éèšé²ïŒgrep 確èªïŒãé«ïŒâ äžæµååŸãã©ãŒã«ããã¯ã«æé ãç¡ã <ref> 埩å
äžèœââ 衚ãçŸè¡åïŒãæé »ã±ãŒã¹æé ïŒbuild-ref.txt ãã <ref>ïŒç¡ããã°èãâarchive/<ref>.zip ã® root/programs/CS/... ãèªãïŒããæ°èšãâ¡L80ãDLL ã§ãéããããšL87ãDLL ãªãå³â¢ãã®ççŸâã.dll ããç¡ããŠãå³â¢ã§ã¯ãªããã«çµ±äžãäžïŒâ¢overlay ç©ºïŒæªæ¹å€ã®è¯å®ç¢ºå®ã掻ããã L166 ãšè¡çªâãoverlay æ©æ§äžã§ overlay ã«ç¡ããã°æ¢å®å€ïŒä»æ§ãšç¢ºå®ããŠãããã L166 ã®æç€ºäŸå€ãšããŠè¿œèšãâ£ãæ¥ç¶æååããŒ/DBMSãåé¡ãºã¬âããŒã¯ config å
èªã¿ã»DBMS 㯠actionType æ¥é èŸããšã§åäžã§ãªããã A衚ãšâ¡ã«åæ ã軜埮ïŒâ€ç¢ºå®äºå®ã®æä¹
眮ãå Žãç¡ãâãããžã§ã¯ãæ¹éããŒãèšé²ã®å°ç·ïŒAGENTS.md/SETUP-CHANGES.md ã«ã¯æžããªãïŒãâ¥ç©ºæ¯ãèµ·åã¬ãŒãâé©çšç¯å²ã«è¿œèšã䜵ããŠç£åºåŽ setup-build §3 ã« <ref> èšé²æç€ºïŒOpenTouryoAssemblies\build-ref.txtïŒã远å ã policy ã®åŸ©å
æé ãšæ¥ç¶ãtokïŒpolicy 3573â4208ãsetup-build 4935â4995ïŒäžéå
ïŒ |
| opentouryo-base2-customize ã®æ€èšŒå®è¡ã¬ããŒãïŒOracle é€å»ã¿ã¹ã¯ïŒ7ç¹ãåæ ïŒå®æ©æ€èšŒã»2026-07-21ãC:\otr å®ãœãŒã¹ïŒRichClient csproj ã§å
šç¹è£åãïŒ | A-1deprecated ååãžã® UOC éè€ïŒUOC_ConnectionOpen 㯠MyFcBaseLogic/âŠ2CS ã ãã§ãªã [Obsolete] ã® MyBaseLogic(L72)/MyBaseLogic2CS(L70) ã«ãååå²ãéè€ïŒå®æž¬ïŒïŒçæ¹ã ãçŽããš DLL ã«æ§ ConnectionString_ODP æ®åâå·®ã蟌ã¿ç¹è¡šã«ã4ã¯ã©ã¹å
šéšçŽãããæèšãA-2DBMS 墿žã¯"é¢"ïŒåå²åé€ã ãã§ã¯ csproj <Reference>+HintPathïŒDamManagedOdpãRichClient net48 csproj L69-70 ã§å®æž¬ïŒã»ãã³ã Dam DLLã»config ConnectionString_<code> ããŒãæ®ãâ4ç¹ãã§ãã¯ãªã¹ãæ°èšãA-3/A-4ïŒãã«ãæ©æ§ïŒexamples.md 2b ãžïŒïŒBusinessRichClient_net48.sln ã¯éSDKã»HintPath ã®ã¿ã§ /t:restore ã Microsoft.NuGet.targets ãšã©ãŒâ/t:build åäœã«ä¿®æ£ïŒäŸã¹ã¯ãªããã /t:restore,build ã®å®ãã°ãä¿æããŠããïŒãnet48/netcore RichClient ã RichClient\obj\ å
±æïŒobj ã« v4.8 ãš net10 ãåå±
ïŒå®æž¬ïŒâãã«ãåã« obj\project.assets.jsonã»obj\*.nuget.* ãæé€ïŒïŒRC ã C:\otr\rc ã§å¥ãã«ãããŠããçå ïŒãB-1 overlay é©çšã®è²¬ä»»ïŒå®ã¯ setup-build/examples.md 1b ã«æ¢åâbase2 æé â¡ããå°ç·åŒ·åïŒãä»»æã衚èšã§èŠèœãšããããç¹ã®ã¿ïŒãB-2 ãå±éããªãŒçŽæ¥ç·šéããšãscript overlay äžæžããäºéâæ£å
ž1æ¬ïŒtag åçæâoverlay é©çšãå¯äžã®å€æŽçµè·¯ã»çŽæ¥ç·šéã¯å¿
ã overlay å蟌ïŒãæèšãC-1ïŒåèã»upstreamïŒODP ã¬ãŒãã4ã¯ã©ã¹ã§äžæãïŒ#if NETCOREAPP2_0 æ§ã¬ãŒãã»net10 æªå®çŸ©ã§å®è³ªç¡å¹ïŒâå¢çç¯ã«äžèšãtokïŒbase2 4306â4878ïŒexamples.md ã¯åç
§ãã¡ã€ã«ã§äºç®å€ã»setup-build SKILL 㯠4995 æ®çœ®ïŒã远èšïŒäœè
æç€ºã® as-built å·®å OTRVCAS/scripts ã§è£åãïŒïŒç§ã® examples.md obj æé€ãã¹ã誀ãïŒInfrastructure\RichClient\objïŒäžåšïŒâå®ç©ã©ãã Business\RichClient\obj ãš CustomControl\RichClient\obj ã®2ã€ã«ä¿®æ£ïŒls ã§å®åšç¢ºèªïŒã1b overlay é©çšã»2b /t:buildã»obj æé€ loop ã¯ãã¹ãŠ as-built ãšäžèŽãç¢ºèª |
| ãéžæè¢ãéåŒããªãããæšªæããªã·ãŒãšã㊠AGENTS.md ã«éçŽïŒäœè
æç€ºã® chooser æç»ã»2026-07-21ïŒ | base2-customize ã®å·®ã蟌ã¿ç¹éžæã§ãã¹ãã«ã¯8+é
ç®ãæããã®ã«å® chooser ãåºå®4æã«ç³ã¿ %1/%2ã»Web API èªèšŒã»åŒæ°æ»ãå€ã»éåæã»ãµãã·ã¹ãã /屿§ãè±èœïŒç¡é¢ä¿é
ç®ã䜵åïŒäŸå€ç»é¢ïŒUOC_ABENDïŒäºåå®çŸ©äŸå€ãæ¥é èŸïŒã©ã€ããµã€ã¯ã«ïŒãâ ãµã³ãã«éžæã§æ¢åºã®åäžç
çã®åçºãsetup-selection ã«ã¯æ¢ã«å¯Ÿçæèšãããã base2 ã«ã¯ç¡ããbase2 㯠tok~4891 ã§äºç®éŒè¿«ïŒæšªæçåé¡ã®ãããåã¹ãã«ã«éè€ããã AGENTS.mdããã®ä»ã®ããªã·ãŒãïŒTODO ãã¬ãŒã¹ãã«ãïŒãžäžåºŠã ãéçŽïŒãåºå® N æã«ç³ãã§èœãšããªãã»ç¡é¢ä¿é
ç®ã䜵åããªãã»UI ãçµããªãå
šåè£ãçªå·ä»ããªã¹ãã§ãïŒå®æž¬è±èœäŸïŒãµã³ãã«ç³»åïŒå·®ã蟌ã¿ç¹ïŒãæèšãå
šã¹ãã«ã«æ³¢åãtokïŒAGENTS.md 3396â3580ãããã«äœè
æ¹éã§ãéè€ããããïŒAGENTS.md ã¯ã€ã³ã¹ããŒã©åçæã§äžæžãïŒèª€åé€ããããã®ã§ãã¹ãã«åäœã§ãå¹ãããåé·åïŒbase2-customize ã® ãã£ãŠã¯ãããªã ã«ãç°¡æœçãè€è£œïŒsetup-selection ã¯æ¢ã«ã¹ãã«åŽã«ãä¿ææžã¿ïŒäž¡è
ã§åé·ïŒãbase2 äºç®éŒè¿«ã®ãã step2 ã® RichClient 詳现ã examples.md 2bïŒæ£æ¬ïŒãžå¯ããŠå§çž®ãæ»åºãtokïŒbase2 4878â4954ïŒauth 4952 çžåœã»äžéå
ïŒ |
| repo çŽäž AGENTS.mdïŒïŒãã® repo ã®éçºããªã·ãŒåæ¬ïŒãæ°èšã»æ¡å
ïŒäœè
ãæ°èŠè¿œå âæ¬ã»ãã·ã§ã³å±¥æŽ/§4.3 ããéçŽã»2026-07-21ïŒ | äœè
ã repo çŽäžã« AGENTS.mdïŒGit æäœçŠæ¢ã®ã¿ïŒã远å ãé
åžç© src/instructions/AGENTS.md ãšã¯å¥ç©ïŒã¹ãã« authoring çšãæ¬ã»ãã·ã§ã³ã§ç¢ºç«ããéçºããªã·ãŒãéçŽè¿œèšïŒâ 2ã€ã® AGENTS.md ãæ··åããªãïŒauthoring vs é
åžç©ïŒâ¡äž»åŒµã¯å®ãœãŒã¹ã§è£åãïŒC:\otr\...\CSïŒOpenTouryoDocuments\documentsïŒas-built 㯠git diff é²èЧã»in-repo files/ ã¯å逿žã¿ïŒâ¢ããŒã¯ã³èŠåŸïŒSKILL 㯠~5000ã»auth 4952 åºæºã»measure.py èŠç©ãã»references/samples/examples.md ã¯äºç®å€ãžéé¿ïŒâ£DevelopmentHistory §4.3/§3 ã«èšé²ã»çžå¯Ÿæ¥ä»â絶察â€prescriptiveïŒå©çšåŽã«å€æãããªãã»variant 㯠csproj 倿ã»éžæè¢ã¯éåŒããªãïŒâ¥æšªæã«ãŒã«ã¯å®å®³å€§ãªãéçŽããéè€ïŒdefense-in-depthãAGENTS.md äžæžã/æ¬ èœå¯ŸçãçŸè©²åœïŒãéžæè¢ã¯éåŒããªããïŒâŠæ€èšŒã¬ããŒãåæ æé ïŒè£åãâæ¢åºåºå¥âåæ å
é
åâèšé²ïŒâ§æšæºæºæ ïŒname=ãã£ã¬ã¯ããªåã»description â€1024ã»HTML ã³ã¡ã³ãã¯é€å»ããå·çè
ã¡ã¢å¯ã»ç Žå£ç倿Žã¯ç¢ºèªïŒãâ»æ¬ãã¡ã€ã«ã¯ authoring çšã§ SKILL äºç®å¯Ÿè±¡å€ |
| opentouryo-project-policy 2åç®ã®æ€èšŒå®è¡ã¬ããŒãïŒâ¡ç¢ºèªå°å³ã® 2CS æããä¿®æ£ïŒäœè
ææïŒãšãŒãžã§ã³ãæ€èšŒã»2026-07-21ãC:\otr å®ãœãŒã¹ã§è£åãïŒ | äœè
äŸé Œã⣠DBMS éžææ¹åŒã»æ¥ç¶æååã®ããŒãã§â¡ã Business/MyFcBaseLogic.cs ã®ã¿æã RichClient/Business/MyFcBaseLogic2CS.csïŒ2å±€C/S çïŒãèœãšãããå®ãœãŒã¹ç¢ºèªïŒ2CS çã¯åå UOC ãå
šéšæã€ïŒUOC_ConnectionOpen ã® DBMS åå²ã»æ¥ç¶æååãåäžãUOC_PreAction/AfterActionãUOC_ABENDÃ3ãIsolationLevelEnum.UserïŒïŒ 2CS æ§æã§ã¯å¥ãã¡ã€ã«ãèªãã¹ããæ¢åã® L122ãBå±€ãåæ§ãæ³šèšã匱ãè¡ã©ããèªãã§åãããŒããé¡äŒŒæãã®èª¿æ»ïŒPå±€è¡ã¯ãåŠçæ¹åŒããšã«ãã¡ã€ã«ãéããïŒPå±€è¡šã§æ
ä¿ãDå±€ MyBaseDao 㯠2CS ååãªããaddControlEvent è¡ã¯æ¢ã«äž¡æ¹èšèŒïŒç³»çµ±çãªæã㯠MyFcBaseLogic ãæã4è¡ã®ã¿ãâ â
泚èšããUseræ¯æ¿ã»DBMSéžæã»äŸå€æ¯æ¿ã»ACCESS ãã°ã®4è¡ã¯ 2CS ãªã âŠ2CS.cs ãèªãïŒåé¢/ãã©ã³ã¶ã¯ã·ã§ã³/ããŒã«ããã¯æåãéãïŒã»çæ¹ã ãã§çµè«ããªããã«åŒ·åããšãŒãžã§ã³ã5ç¹ãåæ ïŒâ build-ref.txt ãæ¢åæ§ç¯ç©ã«ç¡ãïŒæ¬ repo 宿ž¬ïŒãããã§ã¹ãç¡ãã»SETUP-CHANGES ã« ref ç¡ãïŒâ step1 ã«ãå±éããªãŒ C:\otr\OpenTouryo-<ref> ã®ãã©ã«ãåãã <ref> ãèªãïŒç¡ããã°èããã远å ãâ¡base2-overlay/ èªäœãç¡ãïŒoverlay æ©æ§æªäœ¿çšïŒDLL åç
§ã®ã¿ïŒæ§æã®æ±ãæªå®çŸ©âãåæ§ã«æªæ¹å€ïŒstock æ¢å®å€ã仿§ãšã¿ãªããã远èšãâ¢ä¿åå
ããããžã§ã¯ãæ¹éããŒããã®å®äœæªå®çŸ©â repo çŽäž PROJECT-POLICY.mdïŒã³ãããã»å
šãšãŒãžã§ã³ãå¯èŠãClaude åºæã¡ã¢ãªã¯ãªãå€ã§äžå¯ïŒã«å
·äœåãâ£DBMS è¡ã«ãå¯Ÿå¿ Dam 㯠#if ã§ã©ã³ã¿ã€ã å¥ïŒOLE/ODB/ODP=net48ã»NPS=coreïŒããâ€è¡šèšãã actionTypeâå®ã³ãŒã parameterValue.ActionTypeïŒPascalCaseïŒã«æ¯æ£ãtokïŒpolicy 4208â4515ïŒäžéå
ïŒ |
| opentouryo-project-setup-db ã®å®èµ°ã¬ããŒã8ç¹ãåæ ïŒå®æ©æ€èšŒã»2026-07-21ãåç
§ãªã DNDIWGOSSC/LocalServicesOnDocker å®è£
ã«å
šç¹åœãŠã»å
šä»¶åçŸïŒ | ã¹ã¯ãªããæ¬äœïŒStart-Services.ps1/_wsl2.ps1/start-up.shïŒã¯å
ç¢ã§ãåé¡ã¯ã¹ãã«ææž â compose ã®éæ°žç¶èšèšã®äžæŽåãäž»çŒãé«ïŒâ 4 DB ã¯æ°žç¶ããªã¥ãŒã æªäœ¿çšïŒdocker-compose.yml ã§ mysql/postgres/sqlserver/mongo ã® data ããŠã³ããã³ã¡ã³ãã¢ãŠãã»redis ã®ã¿ ./redis/dataïŒïŒ**-v ã®æç¡ã«é¢ããã downâup ã§æ¯åãªã»ãã**ãæ§èšè¿°ã-v ã§ããªã¥ãŒã åé€ïŒããŒã¿å
šæ¶ããã¯ãç¡å°ãªãæ®ããèª€å«æâæ¯æ£ïŒã¹ã¯ãªããèªèº«ã Start-Services.ps1 L9ã»README L175 ã§ãæ°žç¶ç¡ãããäœãçŽãç¡å®³ããšæèšïŒãâ¡Northwind åºæ¬è¡šã¯ start-up.sh ãæ¯èµ·åã§èªååäœæã ã instnwnd.sql ã« ORDERS2 ç¡ãïŒgrep 0ïŒïŒãµã³ãã«åºæè¡šã¯éœåºŠåæå
¥ïŒé察称ãæèšïŒãäžïŒâ¢Start-Services.ps1 ã®å®IFïŒup/down/ps/logsïŒ-NoWait/-NoPauseã»DB æºååŸ
ã¡ã»èªåäœãçŽãã»localhost å°é確èªïŒãéå°ç޹ä»â远èšãâ£clone å
ïŒãããžã§ã¯ã repo å€ãæèšãâ€èµ·ååããŒã ããªãã©ã€ãïŒTest-NetConnection localhost -Port 1433ïŒè¿œå ãäœïŒâ¥åå pull ç®å®ïŒSQL Server 2022 çŽ1.5GB å«ã5 ã€ã¡ãŒãžã»æ°åïŒãâŠWSL2 æå docker network create ã¯æ¢åã ãš2åç®ãšã©ãŒâinspect || åªç圢ïŒ*_wsl2.ps1 ãžå¯ããïŒ.ps1 㯠L198-206/L288-289 ã§åªçïŒãâ§redis ã®ã¿æ®ãç¹ãâ ãšå¯Ÿã§æèšãæ°èšãâ
ããŒã¿ã¯æ¯åãªã»ãããç¯ïŒèµ·åç¯ãæžæ¿ãtok 1472â2203 |
| â ãµã³ãã«è¡šãå
šç³»åãç¶²çŸ
ããŠããªãã£ãïŒäœè
ææã»2026-07-18ãfiles/csharp/ ã§å
šåæïŒ | åãåºããã®ã¯ WebApp_sample / 2CS_sample / Bat_sample / CLI_sample / WS_sample(WSClient_sample) ã®ç³»åã ãã衚ã¯äžéšïŒWebApp ã® MVC/WebFormsïŒ2CS/Bat/CLI/WSClient ã®å1ã€ïŒããåºããæ±ºãæã¡ãããŠãããå®ãã©ãŒã§ç¢ºèªããæŒãïŒCLI 㯠net48 ã«ãååšïŒSamples\CLI_sample\{Simple_CLI,DAG_Login_CLI,LIR_Login_CLI}ã衚㯠core ã ãã ã£ãïŒïŒ2CS ã« WPFã»æ©èœãã¢å€æ°ïŒ2CSClientWPF_sampleã»AsyncEvent_sampleãnet48 ã®ã¿ãã»CustCtrl_sampleã»GenDaoAndBatUpd_sampleã»TimeStamp_sampleïŒïŒBat ã¯è€æ°ïŒSimpleBatch_sampleã»RerunnableBatch_sampleã3ïŒïŒWSClient ã¯4çš®ïŒWSClientWin_sample/WPF/Win2/WinConeïŒïŒcore ã« Backend\ASPNETWebServiceïŒWeb ãµãŒãã¹ ããã¯ãšã³ãïŒãâ â 衚ãå
šç³»åç¶²çŸ
ã«åæ§æïŒæ¥é èŸèŠçŽ net48ïŒSamples\ã»coreïŒBackend\/Legacy\ ãæèšãã©ã³ã¿ã€ã 㯠net48 / .NET 10.0 䜵èšãWPF è¡ãš ASPNETWebService è¡ã远å ãæŽŸçã®ååšã泚èšïŒïŒãåè£ãæç€ºããŠãŠãŒã¶ã«éžã°ããïŒäžéšã ãåºããŠæ±ºãæã¡ããªãïŒããæèš |
| â 衚ã®ãæªç¢ºèªããå®ãã©ãŒã§ç¢ºå®ïŒæ®ä»¶ã®2åé¡ïŒäœè
質åã»2026-07-18ïŒ | ãæªç¢ºèªãïŒsamples/ ã«ãã¡ã€ã«ãç¡ãæ®ä»¶ãïŒãšã®åããæŽçïŒãæªç¢ºèªã㯠WS/3å±€äŸåã®æ€èšŒè»žã§ãsamples/ ã®æç¡ãšã¯å¥è»žãfiles/csharp/ ã® csproj ã調ã¹ãŠç¢ºå®ïŒnet48 MVC 㯠WS äŸåïŒCrud1Controller ã TestParameterValue/TestReturnValue ã䜿çšã»csproj ã WSIFType_sample/WSServer_sample åç
§ãcore MVC ã¯ãªãïŒïŒ2CS(Win/WPF)ã»BatïŒãªãïŒWS åç
§ç¡ã確èªïŒãâ 衚㮠WS åã確å®å€ãžãå¡äŸïŒãªã/ãã/æªç¢ºèªâ ïŒã远å ãCLI_sample åçš®ã»Backend\ASPNETWebServiceã»Frontend ã¯ãã©ãŒã README ã®ã¿ã®ã¹ã¿ãã§å®ãœãŒã¹æªåé²ïŒWS äŸåã確å®ã§ãããæªç¢ºèª â ããæ®ä»¶ã¯2çš®ãšæèšïŒâ samples/<name>.md æªæŽåïŒããã¥ã¡ã³ããçŸç¶ webforms.md ã®ã¿ïŒâ¡æªç¢ºèª â ïŒæ€èšŒããã©ãŒæªåé²ã§å®ç© csproj èŠç¢ºèªïŒãâ» ãã©ãŒèªäœãéšåçïŒäžéšãµã³ãã«ã¯ README ã¹ã¿ãïŒãšå€æ |
| ASPNETWebServiceã»Frontend ã¯å¥ãªããžããªãšå€æââ 衚ããé€å€ãCLI ã¯äŸåãªã確å®ïŒäœè
ãã£ãŒãããã¯ïŒæä¿®æ£ã»2026-07-18ïŒ | åé
ã§ããã©ãŒã README ã®ã¿ã®ã¹ã¿ãããšæ¬ã£ãŠãã Backend\ASPNETWebServiceïŒWeb ãµãŒãã¹ïŒãªãœãŒã¹ãµãŒãïŒãš FrontendïŒSPA ããã³ãïŒã¯ããã©ãŒã®åãèŸŒã¿æŒãã§ã¯ãªã OpenTouryo æ¬äœãšã¯å¥ã®ãªããžããªã ã£ãïŒASPNETWebServiceïŒhttps://github.com/OpenTouryoProject/ResourceServerTemplatesãFrontendïŒhttps://github.com/OpenTouryoProject/FrontendTemplatesãâ äœè
ã®æçµå€æïŒå¥ãªããžããªã¯ãããããOpenTouryo ããåãåºããµã³ãã«ãã§ã¯ãªãã®ã§ â 衚ããå®å
šã«é€å€ïŒãã®ã¹ãã«ã® ZIP ãããŒå¯Ÿè±¡å€ãç«ã¡äžãã¯å repo åŽæé ïŒãããã㊠CLI_sample 㯠WS äŸåãªãã確å®ïŒãªãïŒãçµæãè¡šã«æªæ€èšŒè¡ãç¡ããªã æªç¢ºèª â åºåã¯å»æ¢ãå¡äŸã¯ ãªãïŒãã ã®2ã€ããæ®ä»¶ã㯠samples/<name>.md æªæŽåã®1çš®é¡ã ãã«åçŽåãã¡ã¢ãª reference-csharp-source-mirror ã«ãããã©ãŒã®ç©ŽïŒå¥ãªããžããªïŒURLïŒããèšé² |
| (A)/(B) ã®åŒç§°ãå±€æ°ããŒã¹âWS äŸåã®æç¡ããŒã¹ãžïŒäœè
ãã£ãŒãããã¯ã»2026-07-18ïŒ | ã(A) 3å±€ã®ãŸãŸéãïŒ(B) 2å±€ã§äœ¿ãïŒ2å±€åïŒããšããå±€æ°ïŒ2å±€/3å±€ïŒããŒã¹ã®åŒç§°ãæ··ä¹±ãæãïŒcore çã¯éä¿¡å¶åŸ¡ïŒTransmissionïŒã䜿ã£ãŠã BinaryFormatter 廿¢ã§ã€ã³ããã»ã¹ã®ã¿ïŒå®è³ª2å±€ã«ãªãåŸãããããWS ãæ®ãïŒ3å±€ããåžžã«æãç«ããªããâ å€æè»žãWS äŸåã®æç¡ã«çµ±äžãã(A) ãã®ãŸãŸæ®ãïŒ(B) WS äŸåãåãé¢ããžæ¹ç§°ãåæ å
ïŒproject-setup SKILL.mdïŒâ å¡äŸãŸããã»ã3å±€ãµã³ãã«ã®æ±ããã»å®äºåŸã® transform æ¡å
ïŒãsamples/webservices.mdïŒ(A)/(B) èŠåºãïŒãsamples/webforms.mdãproject-transform SKILL.mdïŒç¯èŠåºããWS äŸåãåãé¢ããã»æ¬æã®ã2å±€åã衚çŸã»descriptionããã ã 2å±€å/3å±€ãåã ã¯æ€çŽ¢èªãšã㊠description ã«æž©åã3Tier ãã©ã«ãåã 3å±€ç»é¢ã»2å±€ç»é¢ ã®å®äœåã¯ãã®ãŸãŸïŒ |
| çã«ãŒã ãã«ãæã®ãåºç€ãœãŒã¹åŒã蟌ã¿ããæããâ念æŒãæ ŒäžãïŒäœè
ãã£ãŒãããã¯ã»2026-07-18ïŒ | æ·±ããªãåé¿ã§çãäœæ¥ã«ãŒãïŒC:\ot\ïŒã§ãã«ãããéã芪ã¯ã©ã¹2 ã«ã¹ã¿ãã€ãºçšã®åºç€ãœãŒã¹ root\programs\CS\FrameworksïŒInfrastructureïŒãã¯ãŒã¯ã¹ããŒã¹ãžåŒã蟌ãæé ããšãŒãžã§ã³ããå®è¡ããªãã£ãïŒäœ¿ãæšãŠããªãŒã«ããæ®ãã base2 ã«ã¹ã¿ãã€ãºäžå¯ïŒãåå ïŒsetup-build §1 ã§ãäŸå€ããšããŠæãããæžããŠããã ãã§èŠèœãšããããâ setup-build/SKILL.md §1 ã«èŠåºãä»ãã®å¿
é æé ãâ
åºç€ãœãŒã¹ã®åŒã蟌ã¿ãå¿
ãè¡ãããžæ ŒäžãïŒxcopy äŸïŒ**<workspace>\...\Frameworks\Infrastructure\Business ã®å®åšç¢ºèª**ãç¡ããã°æ¢ããŠããçŽãïŒããã£ãŠã¯ãããªãããšã«ããåŒã蟌ãŸãªããã远å ãbase2-customize/SKILL.md ã®è©²åœãã¬ããããâ
æåã«åŒã蟌ãïŒçç¥ããªãïŒãã® imperative ãžåŒ·åïŒåã xcopyïŒå®åšç¢ºèªïŒãäž¡ã¹ãã«ãçžäºåç
§ããµã€ãºïŒsetup-build tok3603ã»base2 tok3185ïŒç®å®å
ïŒ |
| ⣠åãåºãã«éçºæ¯æŽããŒã«ïŒFrameworks\ToolsïŒã远å ïŒããŒã«å¥ããã¥ã¡ã³ãæ°èšïŒäœè
ãã£ãŒãããã¯ã»2026-07-18ïŒ | ã»ããã¢ããã® â£åãåºãã¯ãµã³ãã«ã ãã察象ã«ããŠããããOpenTouryo 㯠Frameworks\Tools\ é
äžïŒSamples\ ã§ã¯ãªãïŒã« GUI éçºæ¯æŽããŒã«ã忢±ãããâ â£ã«ãéçºæ¯æŽããŒã«ãåãåºããã远å ïŒDaoGen_ToolïŒïŒå¢šå£ºãDå±€èªåçæïŒopentouryo-dao-generated/layer-dïŒãš DPQuery_ToolïŒåçã¯ãšãªè©ŠéšïŒopentouryo-query-definition ã® PARAM ã¿ã°ïŒãäž¡ããŒã«ããµã³ãã«ãšåã Reference+HintPath æ¹åŒã§ †ãšåã匵æ¿ãå®ãã©ãŒã§ç¢ºèªãã net48 ã®èŠæ³šæç¹ïŒpackages.config ãç¡ãã3rd-partyïŒMySql.Data/Oracle.ManagedDataAccessïŒå«ãå
š HintPath ã ..\..\Infrastructure\Build\ ãæãïŒå
šéšãã³ãå
ãžåŒµæ¿ïŒcore 㯠PackageReferenceïŒBuild_netcore100\net10.0\ïŒãWinExe/WinFormsãnet48ïŒ*.csprojïŒïŒcoreïŒ*Core.csprojïŒnet10.0-windows7.0ïŒãâ samples/daogentool.mdã»samples/dpquerytool.md ãæ°èšïŒçœ®ãå Žæã»ã©ã³ã¿ã€ã ã»åŒµæ¿æé ã»é¢é£ã¹ãã«ã»äœ¿ãæ¹ã®èŠç¹ïŒãâ ãæ®ä»¶ãã®çŸåãã¡ã€ã«åæãæŽæ° |
| ãæ®ä»¶ãã¯æ¬æã§ãªãå·çè
ã¡ã¢ïŒ<!-- -->ïŒã«ããïŒäœè
ææã»2026-07-18ïŒ | project-setup â ã®ãæ®ä»¶ãïŒsamples/<name>.md ã®æŽåç¶æ³ïŒããã¥ã¡ã³ã TODOïŒãå¯èŠã®æ¬æã«æžãããŠãããããã¯ãšãŒãžã§ã³ããžã®å®è¡æç€ºã§ã¯ãªãå·çè
åãã®ã¡ã¿æ
å ±ãªã®ã§ãbase2-customize/oauth2-client/project-transform ãšåãã <!-- å·çè
ã¡ã¢ïŒClaude Code ã¯èªã¿èŸŒã¿æã«é€å»ïŒâŠ --> ãžç§»ãããå®è¡ã«å¹ãäžæïŒãå°çš .md ãç¡ããµã³ãã«ã衚ïŒsamples/webservices.md ã§åãåºãããïŒã ãæ¬æã«æ®çœ®ãã³ã¡ã³ã㯠measure ã®å®å¹ïŒeffïŒã»èªã¿èŸŒã¿ããé€å€ïŒäºç®ã«å¹ããªãïŒtok~4971â4882ïŒãæ¹éïŒã¹ãã«æ¬æã¯ãšãŒãžã§ã³ããåŸãæç€ºã ããæŽåç¶æ³ã»å°æ¥ TODOã»å·çæå³ã¯ <!-- --> ã«çœ®ãïŒæ¢åã®æ
£è¡ã暪å±éïŒ |
| â ãµã³ãã«éžæãéåŒãã 3å±€CS/WSClient_sample ãéžã¹ãªãã£ãâå
šç³»åæç€ºãæèšïŒå®ç°å¢ã¬ããŒãã»2026-07-18ïŒ | â ã®éžæã§ããšãŒãžã§ã³ãã®æç€ºã4ãã±ããïŒMVC / Web Forms / WinForms 2CS / CLIã»ãããïŒïŒãType somethingãã«éåŒããã3å±€ãªããã¯ã©ã€ã¢ã³ãïŒWS_sample\WSClient_sampleïŒãš WPF ãéžæè¢ããæ¬ èœãããåå ã¯æç€ºå±€ã®ãã±ããåïŒå®è³ª4æã® chooser ã«æŒã蟌ããããç³»åãèœãšãïŒã衚ã¯å
š8ç³»åãåææžã¿ã§ãæ¢å泚èšãäžéšã ãåºããŠæ±ºãæã¡ããªããã ãã§ã¯é²ããªãã£ããâ â 衚çŽåŸã匷ãæç€ºæç€ºã«å·®ãæ¿ãïŒãäžè¡šã®å
šç³»åãå¿
ãæç€ºããŠãŠãŒã¶ã«éžã°ããïŒç³»åããŸãšããŠéåŒããªãïŒå®æž¬ã§ 3å±€CSã»WPF ãæ¬ èœïŒïŒéžæ UI ãéžæè¢æ°ãå¶éããŠããåãŸããªããã°å
šç³»åãçªå·ä»ããªã¹ãã§æç€ºããŠçªå·ã§éžã°ããïŒæŽŸçã¯ç³»åãéžãã åŸã®æã§ãããç³»åãã®ãã®ã¯å
šéšèŠãããããã£ãŠã¯ãããªãããšã«ãããµã³ãã«éžæã§ç³»åãéåŒãïŒåºå®4æã«æŒã蟌ã㊠WSClient_sample/WPF ãèœãšãïŒãã远å ã远èšã§ cl100k ã 5000 ãè¶
ãããããå¡äŸã® MVC éè€ã»ãªãè¡ã®éè€ã»æŽŸçã®åæãåã£ãŠ tok~4997ïŒç®å®å
ïŒ ã«åãã |
| ã³ããŒããã¯ãç¹°ãè¿ãæããâãçã«ãŒããã¯ãŒã¯ã¹ããŒã¹ã«è¿œå ãæ¹åŒãžè»¢æïŒäœè
ãã£ãŒãããã¯ã»2026-07-18ïŒ | åã
é
ã§ãåºç€ãœãŒã¹ã®åŒã蟌ã¿ïŒxcopy ã§æ·±ããªããžã³ããŒããã¯ïŒããå¿
é æé ãžæ ŒäžããããããããããããšãŒãžã§ã³ããå®è¡ããªãã£ãïŒ2åç®ã®å®æž¬ïŒãäœè
ææ¡ïŒãã C:\otr ãã¯ãŒã¯ã¹ããŒã¹ã«è¿œå ããã°ãããâ èšèšè»¢æïŒã³ããŒãšããæããããã¹ãããèªäœã廿¢ãåºç€ãœãŒã¹ Frameworks\Infrastructure 㯠ZIP å±éæç¹ã§ C:\otr\OpenTouryo-<ref>\root\programs\CS\Frameworks\Infrastructure ã«æ¢ã«åšãã®ã§ãæ·±ããªããžã³ããŒãããçã«ãŒã C:\otr ãã¯ãŒã¯ã¹ããŒã¹ã«è¿œå ããŠå±éããªãŒãçŽæ¥ç·šéã»ãã«ãããïŒVS Codeããã©ã«ããŒãã¯ãŒã¯ã¹ããŒã¹ã«è¿œå ãïŒãšãŒãžã§ã³ãã¯çµ¶å¯Ÿãã¹ã§çŽæ¥èªã¿æžãïŒãããœãŒã¹ãç¡ããŠå§ããããªããããã³ããŒå¿ãããåççã«èµ·ããªãïŒïŒå®è¡å¿
é ã®ã¢ã¯ã·ã§ã³ãç¡ãïŒãã³ãããã¯å·®å base2-overlay/ ã ããå±éããªãŒã¯äœ¿ãæšãŠãé·ãã¹æå¹åã§ãªãçŽäžãã«ããåé¢èªäœãç¡ããéžæè¢ã䜵èšãåæ ïŒsetup-build/SKILL.md §1 ã® â
ç¯ïŒãã£ãŠã¯ãããªãããšãbase2-customize/SKILL.md ã®è©²åœãã¬ããïŒxcopy ã³ããŒããã¯äŸã¯åé€ïŒããµã€ãºïŒsetup-build tok3570ã»base2 tok3133ïŒç®å®å
ïŒ |
| æ€èšŒã¬ããŒã skill-feedback-report.md åæ ïŒWebForms/net48/03-20 宿©ã»2026-07-18ããã«ãâIIS Express å®è¡ãlogin 200ããŸã§å®èµ°ïŒ | A-1ïŒæéèŠã»èšè¿°èšæ£ïŒïŒDaoGen_Tool/DPQuery_Tool ãçŽ ã§ãã«ãäžå¯ïŒCS0234 Microsoft.Data.SqlClientïŒããã©ãŒç¢ºèªã§çå 倿ïŒnet48 ããŒã« csproj 㯠HintPath ãš PackageReference ã®æ··åšïŒpackages.config ã¯ç¡ãã Microsoft.Data.SqlClientã»Azure.* çã PackageReference ã§æã€ïŒãç§ã®æ§èšè¿°ãnet48 㯠packages.config ç¡ãïŒå
š HintPathïŒåŸ©å
ãªããã¯èª€ãâ daogentool.md/dpquerytool.md/reference-rewrite.md/â inline ãèšæ£ïŒHintPath ã¯ãã³ã匵æ¿ïŒPackageReference 㯠restoreïŒmsbuild -t:restore/nuget/dotnetïŒãMicrosoft.Data.SqlClient 㯠SNI ãã€ãã£ãèŠïŒrestore ãæ£éïŒãã³ã DLL ãžã® HintPath 远å 㯠compile éãããã€ãã£ãèœãšããŠèµ·å倱æããããïŒãB-1ïŒâŠãå®è¡ã§ããããšã確èªãã® how-to ã references/run-verify.md æ°èšïŒIIS Express ã HTTP ããŒãã§èµ·åã㊠SSL åé¿ïŒOT_RESOURCE_ROOT ãèµ·åã³ãã³ãã§æç€ºïŒPing.aspx=302ã»login.aspx=200 ã¹ã¢ãŒã¯ïŒ500ïŒresourceã»config 解決倱æïŒïŒâŠã«çãã€ã³ã¿ãD-1ïŒâŠå®äºåŸã«ã³ãããä¿ãã远å ïŒæªã³ãããã§äœæ¥ããªãŒããæ¶å€±ãã宿ž¬ãgit æäœã¯äººã®ååã¯ç¶æïŒãCïŒå垰確èªã»å€æŽäžèŠïŒïŒã¿ã°ç¢ºèªãããŒïŒãµã³ãã«å
šç³»åæç€ºïŒ4æå¶éãçªå·ä»ããªã¹ãã§åé¿ã WSClient/WPF ãèœãšããïŒïŒçã«ãŒã MAX_PATH åé¿ïŒexit code äžä¿¡âDLL å®åšå€å®ïŒVS18 Community é宿€åºïŒsessionState InProcïŒresource ç¶Žãã®çœ ïŒHintPath æ«å°Ÿãã©ã«ãåïŒMySql/Oracle 匵æ¿ïŒæ§æA ã¯â£â€ã§å®çµââãã¹ãŠèšè¿°ã©ããéçšãD-2ïŒä»»æã»æªå¯Ÿå¿ïŒïŒbuild-app.ps1 é圢ã«ããŒã«2æ¬ã®ãã«ããè¶³ãã° A-1 ãã»ããã¢ããæã«çãåºããïŒexamples.md ãžã®è¿œèšäœå°ãä»åã¯èŠéãïŒã远èšã§ â ã cl100k 5000 ãè¶
ãããã †XML ã net48 äŸã®ã¿åã»éè€åãã§ tok~4995 ã«åãã |
| æ€èšŒã¬ããŒã skill-feedback-report-base2.md åæ ïŒSQL Server åºå®ã»net48ã»03-20ã»IL éã¢ã»ã³ãã«ã§åæ å®èšŒã»2026-07-18ïŒ | A-1ïŒæéèŠã»èšè¿°èšæ£ïŒïŒ3_Build_Business_net48 㯠2CSïŒOpenTouryo.Business.RichClient ããã«ãããªãããã©ãŒã§è£åãïŒ2CS ã¯ã©ã¹ïŒMyBaseLogic2CS/MyFcBaseLogic2CSïŒã¯ Business/RichClient/Business.RichClient_net48.csprojïŒå¥ã¢ã»ã³ããªïŒã«ãããNuget_RichClient_net48.sln 㯠Framework.RichClient ã®ã¿ãã«ãïŒïŒBusiness.RichClient ã¯å¥ sln BusinessRichClient_net48.sln ãèŠãïŒãæ§èšè¿°ãææã¯ Business(.RichClient).dllãã¯net48 ã§äžæç«ïŒ2CS ã®æ¹ä¿®ãç¡èšã§ç¡èŠããããâ base2-customizeïŒèŠªã¯ã©ã¹2 ãšã¯ïŒå±€å¥ãããâ
ïŒå€æŽâåæ ã«ãŒãã« 2CS çšã®å¥ sln ãã«ã远å ïŒãš setup-buildïŒRichClient 泚èšã«ãåºæ¥ãã®ã¯ Framework.RichClient ãŸã§ãïŒãèšæ£ãcore ãåæ§æã§å穎ã®å¯èœæ§ïŒèŠç¢ºèªïŒãšæ³šèšãB-1ïŒoverlay é©çšã®é察話ã»ãšã³ã³ãŒãã£ã³ã°æ³šæïŒxcopy 㯠F/D ãèšãã®ã§ Copy-Item -Recurse -ForceïŒor xcopy /Y /E /IïŒãåºç€ãœãŒã¹ã¯ UTF-8 BOM ä»ãã§ããŒã«çææã« BOM/ãšã³ã³ãŒãç¶æãB-2ïŒoverlay ã¯**ãã¡ã€ã«åäœã®äžžããšå·®æ¿ïŒãããïŒè¡å·®åã§ã¯ãªãïŒ**ãæèšãDïŒUOC_ConnectionOpen ã 1 DBMS åºå®ã«ç°¡çŽ åãããš actionType ã® DB åæ¿ãç¡å¹åãããå¯äœçšã row ã«æ³šèšãCïŒå垰確èªã»å€æŽäžèŠïŒïŒå·®ã蟌ã¿ç¹è¡šã®æ£ç¢ºãïŒoverlay+åºå®ã¿ã°åçŸïŒãã«ãé ïŒoverride ã·ã°ããã£äžå€ã§äŸåã¢ããªç¡å€æŽããã¹ãŠèšè¿°ã©ããããµã€ãºïŒbase2 tok3735ã»setup-build tok3659ïŒç®å®å
ïŒ |
| examples.md ã® as-built é圢ã¡ã³ãïŒ2ã¬ããŒãã® D-2ïŒbase2 A-1 åæ ã»2026-07-18ïŒ | 2ã€ã®æ€èšŒã¬ããŒãã§å€æããç¹ãé圢ã«ç¹ã蟌ã¿ïŒååãèŠéãããšãã D-2 ã宿œïŒãbuild-app.ps1ïŒä»»æã¹ããã3ã远å ïŒåãåºããéçºæ¯æŽããŒã« DaoGen_Tool/DPQuery_Tool ã msbuild /t:restore,build ã§ãã«ãïŒPackageReference restore ã§ Microsoft.Data.SqlClient ã®æ¬ èœïŒCS0234 ãã»ããã¢ããæã«çãåºããHintPath åŒµæ¿æžã¿åæïŒãsetup-build.ps1ïŒbase2 çšã®ä»»æãããã¯2ã€ïŒ(1b) base2-overlay ãããã° Copy-Item -Recurse -ForceãF/D ããã³ããåé¿ã»UTF-8 BOM ä¿æãã§å±éããªãŒãžé©çšã(2b) 3_Build_Business ãäœããªã 2CSïŒBusinessRichClient_net48.sln ã vswhere 解決㮠msbuild ã§ãã«ãâ Build_net48 çµç±ã§ãã³ããpost-vendor ã§ OpenTouryo.Business.RichClient.dll ã®å®åšç¢ºèªãæ«å°Ÿã« run-verify.md ãžã®å®è¡ç¢ºèªãã€ã³ã¿ã**as-built é圢ïŒç°å¢ã«å¿ã調æŽïŒConfiguration/restore æ¹åŒïŒ**ãšæèšã162è¡ïŒon-demand ãªã®ã§æ¬äœäºç®ã«ç¡åœ±é¿ïŒ |
| sessionState 㯠InProc ã«å€ãã StateServer ãç¶æïŒåèšæ€åã»äœè
æç€ºã»2026-07-18ïŒ | 以å SKILL-FEEDBACK/⊠ã§ãState Service ãèŠããªã InProc ã«å€ããããšèªå°ããŠããïŒäžèš 317/323/345 è¡ïŒããäœè
å€æã§æ€åïŒStateServer ã®ãŸãŸæ®ãã®ãæ£ãçç±ïŒStateServer ã¯ã»ãã·ã§ã³ãã·ãªã¢ã©ã€ãºå¯èœã«ä¿ã€ã®ã§ãåŸã§ out-of-proc åã»ã¹ã±ãŒã«ã¢ãŠããžç§»ã倿Žãå¹ãïŒInProc ã«ãããšå€±ãïŒãnet48 㯠ASP.NET State Service ãèµ·åããŠäœ¿ãïŒroot\files\bat\aspnet_state-stat.bat ã§èµ·åïŒaspnet_state-stop.bat ã§åæ¢ããã©ãŒ files/else/bat/ ã§ç¢ºèªïŒãcore 㯠StateServer é察å¿ãªã®ã§å¿
èŠãªã Redis çã®åæ£ã»ãã·ã§ã³ãèšå®å€ã¯ <sessionState timeout="20" cookieless="false" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" />ãâ ⊠ã®åœè©²ãã¬ããããStateServer ãæ®ãã»State Service ãèµ·åãã«æžãæãïŒæ§ãInProc ã«å€ãããã¯åé€ïŒã远èšã§ â ã cl100k 5000 ãè¶
ãããã â¥/⊠ã®éè€ãåã£ãŠ tok~4997 ã«åãã |
| project-setup ãæé ã®é åºã§åå²ïŒãã¡ãµãŒãåïŒäœè
æç€ºã»2026-07-18ïŒ | â ã field feedback ã®ç©ã¿å¢ãã§æ¯å cl100k 5000 ã«åŒµãä»ãéç©èŒã«ãªã£ãŠãããäœè
æç€ºã§æé é ã«åå²ïŒopentouryo-project-setup ããã¡ãµãŒãïŒå
šäœã®æµãïŒ4ã¹ãã«ã®åŒã³åºãé ã»å®äºåŸã»å
šå·¥çšå
±éã®çŠæ¢äºé
ã®ã¿ãtok1490ïŒã«ããâ â¡â1785ïŒïŒâ¢â-selectionïŒtok-buildïŒæ¢åïŒïŒâ£â€â-coreïŒtok1308ãreferences/reference-rewrite.mdã»samples/* ãä¿æïŒïŒâ¥âŠâ1637ãreferences/resource-config.mdã»run-verify.md ãä¿æïŒãžå§è²ãâ¥âŠ ã®çœ®ãå Žã¯äœè
éžæã§ç¬ç«ã¹ãã« -configïŒtok-configããµããã¡ã€ã«ã¯ mv ã§è©²åœã¹ãã«é
äžãžç§»èšãã¯ãã¹åç
§ãå
šæŽæ°ïŒtransformãâ€/reference-rewriteâcoreãã»transmissionãâ 衚âselectionãã»base2ãDLL ãã«ã/ãã³ãâbuildãâ¡åºå®ã¿ã°âselectionãdescription ããã»examples.mdãrun-verifyâconfigãã»moved å md ã®èªã¹ãã«åã»AGENTS.md 衚ã»README äžèЧãåå=ãã£ã¬ã¯ããªåïŒdescriptionâ€1024 ãå
šæ°ã¹ãã«ã§ç¢ºèªãinstall.ps1 -TargetRoot <tmp> ã§3æ°ã¹ãã«ã references/samples ããšå梱ãããããšã宿ž¬ãå
š30â33ã¹ãã«ãåã¹ãã«ãç®å®ã«å€§ããäœè£ïŒéç©èŒè§£æ¶ïŒ |
| 2ä»¶ã®äžå
·åä¿®æ£ïŒãã°å®çŸ©å
ã®åºåå
ãæªåŒµæ¿ïŒã€ã³ã¹ããŒã« AGENTS.md æååãïŒäœè
å ±åã»2026-07-18ïŒ | (1) ⥠ã®ç©ŽïŒresource\Log\*.xmlïŒSampleLogConf.xml çïŒã® appender <param name="File" value="C:\root\files\resource\Log\ACCESS"> ãæªåŒµæ¿ã§ãã°ãæ§ãã¹ãžåºç¶ããããã©ãŒã§æ©åºç¢ºèªïŒLogManager_log4net ã¯ãã°å®çŸ©ãã¡ã€ã«ã®ãã¹ã ãã %VAR% å±éïŒçã¹ããªãŒã ã§éã XmlConfigurator ã«æž¡ãïŒäžèº«ã¯éå±éïŒãlog4net ãçŽ ã® <param name="File"> ãéå±éãâ resource-config.md ã«ãâ
ãã°å®çŸ©ã®äžã®åºåå
ãåŒµãæ¿ãããç¯ïŒconfig SKILL.md â¥ ã«æé 3远å ïŒlog4net ã® <file type="log4net.Util.PatternString" value="%env{OT_RESOURCE_ROOT}\Log\..."> ã§ç°å¢å€æ°å±éãããïŒ%OT_RESOURCE_ROOT% çŽæžãã¯äžå¯ïŒã(2) ã€ã³ã¹ããŒã©ã®æååãïŒinstall.ps1 ã Get-Content -RawïŒ-Encoding ç¡ãïŒã§ AGENTS.md ãèªãâWindows PowerShell 5.1 ã®æ¢å® ANSI ã UTF-8 ã誀èªâæååãã UTF-8 ã§æžãæ»ããŠãããâ èªã¿åãã [System.IO.File]::ReadAllText()ïŒBOM æ€åºïŒUTF-8 æ¢å®ïŒã«å€æŽïŒ161ã»108è¡ïŒãinstall.ps1 -TargetRoot <tmp> ã§ source ãã€ãã installed AGENTS.md ã« verbatim 嫿ã»UTF-8ããã®ãã¡ã€ã«ã¯ãååšã宿ž¬ç¢ºèª |
| selection ãããŒæ€èšŒã§å€æãã3ä»¶ïŒäœè
å ±åã»2026-07-18ãããããã¹ãã« doc åŽãæ¬äœã¯æ¢ç¥ã©ããïŒ | AïŒdoc ãã°ïŒïŒrun-verify.md ã® IIS Express /path ã Web ã«ãŒããš1éå±€ããããã©ãŒç¢ºèªïŒWebForms 㯠.sln ãå€åŽ WebForms_Sample\ãWeb.config ã¯å
åŽ WebForms_Sample\WebForms_Sample\ãâ /path ãå
åŽã«ä¿®æ£ïŒã/pathïŒWeb.config ã®ããéå±€ãsln ãã¹ãšã¯å¥éå±€ããæèšãBïŒæ§æã®ç©ŽïŒïŒãã¡ãµãŒããæ°èŠåæã§ãæ¢å repo ãžã®**远å ã»åå®è¡ïŒåªçæ§ïŒ**ã®æåœãŠç¡ããâ ãã¡ãµãŒãã«ãæ¢åãžã®è¿œå ã»åå®è¡ãç¯ïŒæ¢åææãäžæžãããªãã»åäžã©ã³ã¿ã€ã ãªã ⢠æµçšã»â¥âŠ å匵æ¿äžèŠïŒãselection â¡ ã«ã2æ¬ç®ãåã©ã³ã¿ã€ã ãªã ⢠ã¹ãããå¯ããCïŒreference-rewrite ã WebForms åæã®ã¿ïŒïŒMySql.Data/Oracle ã®å
HintPath ããµã³ãã«ã§å²ããïŒãã©ãŒç¢ºèªïŒMVC net48ïŒ..\..\..\..\Frameworks\Infrastructure\Build\ïŒWebFormsïŒ..\..\..\WS_sample\Build\ãããã WebForms ã§ã DamMySQL ã ã Frameworks åŽïŒãâ reference-rewrite.md ã«ãå
HintPath ã¯ãµã³ãã«ã§å²ããã»äžåŸæ¥é èŸçœ®æããå HintPath ã®å®éã®å
ãèŠããã远èšãæ¬äœåŽã®æ°èŠå ±åã¯ç¡ãïŒMAX_PATH/MSB3553ã»VS18 msbuild æ€åºã»DB æªèµ·åã® /Ping ã¿ã€ã ã¢ãŠãã¯æ¢èšèŒã®æ¢ç¥äºé
ïŒ |
| README ã®ã¹ãã«äžèЧãçšéã»å©çšè
é ã«3ã°ã«ãŒãåïŒäœè
èŠæã»2026-07-19ïŒ | å±€é ã®ãã©ããäžèЧãã©ã€ããµã€ã¯ã«ïŒå©çšè
ã§åç·šïŒâ ç«ã¡äžãã»æ§æïŒåæèšå®ïŒç«ã¡äžãæ
åœ/çºãè
ãproject-setup äžåŒïŒtransformïŒpolicyïŒbase2-customize ã®8ïŒïŒâ¡åå±€ã®ã³ãŒãå®è£
ïŒæ¥åžžåžžçšïŒã¢ããªéçºè
ãP/B/DïŒDaoïŒquery-definition ã®14ïŒïŒâ¢å¶åŸ¡ã»å®çŸ©ïŒæšªææ©èœïŒæ©èœå©çšïŒå¿
èŠæåç
§ãå®çŸ©ãã¡ã€ã«çŸ€ïŒexception/logging/config/auth/oauth2/common-parts ã®11ïŒãå
š33ä»¶ãæ¬ èœãªãåé¡ïŒgrep ã§ä»¶æ°äžèŽã確èªïŒãREADME ã®ã¿å€æŽïŒAGENTS.md ã®ã¹ãã«éžæè¡šã¯æ®ã眮ãïŒ |
| åå®è¡ïŒ.NET 10.0 / Core MVC 远å ïŒã§å€æãã coreã»æ··åšã©ã³ã¿ã€ã ç³»5ä»¶ïŒäœè
å ±åã»2026-07-19ãBãåªçæ§ãã¯ååæŽæ°ã§è§£æ¶æžã¿ïŒ | DïŒexamples.md ã« netcore100 ã®äŸãç¡ã net48 å°çšã ã£ã â setup-build-netcore.ps1 é圢ã远å ïŒæ¢å ZIP å±éãå DL ããæµçšã»netcore ãããã®ã¿ã»Build_netcore100\ ã® TFM äž¡ãµããã©ã«ãããã³ãïŒãæ··åšã©ã³ã¿ã€ã repoãnet48 æžã¿ã§ .NET10.0 ã ãåŸè¿œå ãã«å¯Ÿå¿ãEïŒrun-verify.md ã net48/IIS Express å°çš â coreïŒKestrelïŒdotnet runïŒç¯ã远å ãdotnet run 㯠launchSettings.json ã® applicationUrl ãåªå
ã ASPNETCORE_URLS ãç¡èŠããã宿ž¬ïŒ5080 æå®ã§ã 5219 èµ·åãâ --urls/--launch-profile ã§åºå® or launchSettings ã®ããŒãã䜿ããFïŒãã¡ãµãŒãåªçæ§ç¯ã«ãåç³»åãå¥ã©ã³ã¿ã€ã ã§è¶³ããšãã©ããåãã©ã«ãåãè¡çªãnet48 MVC ã MVC_Sample\ å æã»Core MVC ãååãâ å¥å MVC_Sample_Core\ãã远å ãminorïŒreference-rewrite.md ã«ãBuild_netcore100\ 㯠TFM ãµããã©ã«ã2çš®ãnet10.0\ïŒWeb/MVC/Bat/CLIãnet10.0-windows7.0\ïŒWinForms/WPFã»2CSãããæèšïŒãã©ãŒã® csproj TargetFramework ã§ç¢ºèªïŒãGãæ¬äœåŽãïŒCore MVC ã log4net 3.2.0 ãåç
§ã NU1902ãGHSA-4f7c-pmjv-c25wã»äžããåºãïŒãã«ãã¯éãïŒâ æ¬äœã®ããŒãžã§ã³æŽæ°æ€èšäºé
ãã¹ãã«ã¯ examples.md ã«ãæ¢ç¥èŠåã»ã»ããã¢ããåŽã§å·®ãæ¿ããªãããšæ³šèšïŒnet48 ç³»ã§ã¯åºãªã core åºæïŒ |
| åå®è¡ïŒ2CS/WinFormsã»net48ã»æ¢åæµçšïŒã§å€æãã3ä»¶ïŒäœè
å ±åã»2026-07-19ïŒ | HïŒæéèŠïŒïŒãåäžã©ã³ã¿ã€ã ãªã ⢠æµçšã§ã¹ãããå¯ãã 2CS/ãªããã¯ã©ã€ã¢ã³ãç³»ã§ç Žç¶»ããã©ãŒç¢ºèªïŒ2CSClientWin/WPFã»GenDaoAndBatUpdã»WSClient_* å
šçš®ã OpenTouryo.Business.RichClient ãåç
§ããã 2_/3_Build_net48 ã¯çæããªãïŒå¥ sln BusinessRichClient_net48.sln å¿
é ïŒïŒbase2 ã«ã¹ã¿ãã€ãºãšç¡é¢ä¿ã®çŽ ã®äŸåãåŸæ¥ examples.md ã® 2b ãããã¯ã if (Test-Path $overlay)ãbase2 ãããæã ããã§ã¬ãŒããããsetup-build ãã芪ã¯ã©ã¹2 ã® 2CS ã«ã¹ã¿ãã€ãºæã«å¹ããäœçœ®ã¥ãã ã£ãã®ã誀解ã®å
ãâ (a) ãã¡ãµãŒãåªçæ§ç¯ã«ã2CS/RichClient ã¯åã©ã³ã¿ã€ã ã»åã¿ã°ã§ã ⢠ã«è¿œå ãã«ãèŠãã®äŸå€ã(b) setup-build ããRichClient ç³»ãµã³ãã«ãªãå¿
é ã»base2 ãšç¡é¢ä¿ãã«æ ŒäžãïŒâ
ç¯ã«ïŒã(c) examples.md 2b ã $needRichClient -or overlay ã«å€ã overlay éäŸååïŒsetup-build-richclient.ps1 çžåœïŒãIïŒselection ã®ç³»å衚ã«ãRichClient åºç€ã®è¿œå ãã«ããèŠãïŒWinForms 2CSã»WPF 2CSã»3å±€ãªããã¯ã©ã€ã¢ã³ããWS/3å±€äŸåãšã¯å¥è»žïŒãã®æ³šèšã远å ãJïŒrun-verify.md ã«ãã¹ã¯ãããïŒWinForms/2CSïŒæ€èšŒç¯ïŒexe èµ·åâããã»ã¹çåïŒèµ·åæã¯ã©ãã·ã¥ç¡ãïŒãDB äŸåæäœã¯ SQL Server åæã3局㯠WS ãµãŒãèµ·åãèŠãâ»åœåãæ¬äœã Business.RichClient ãåºããªãããã±ãŒãžã³ã°èšèšããšæžããã誀ãïŒäžè¡ã§è𿣠|
| ãèšæ£ãHãåºç€ãã«ãã Business.RichClient ãåºããªãä»¶ãã¯æ¬äœã®æ¬ é¥ã§ã¯ãªãïŒã¹ãã«ã®ãµãã»ããéžæãåå ïŒäœè
ææã»2026-07-19ïŒ | åè¡ã§ãæšæºåºç€ãã«ãã Business.RichClient ãåºããªãããæ¬äœåŽèŠå ãšããã®ã¯èª€ããäœè
ææïŒroot\programs\CS ã®å bat ãé æ¬¡åãã°ïŒãŸãšã圹 root\programs\9_CICD.bat ã§ãïŒBusiness.RichClient ãå«ãå
šéšãã«ãããããæ¬ã¹ãã«ã¯æšçãçµã£ãŠéããããã 2_/3_Build_* ãµãã»ããã ããåãæ¹éãªã®ã§ããã®ãµãã»ããã« BusinessRichClient_*.sln ãå
¥ã£ãŠããªãã ãïŒïŒæ¬äœã®æ¬ é¥ã§ã¯ãªãã9_CICD.bat ã䜿ããªãèšèšèªäœã¯åŠ¥åœïŒãâ 4ã¹ãã«ã®ãæšæºãããŒã衚çŸãã⢠ãåã 2_/3_Build_* ãµãã»ããïŒãã«äžåŒïŒ9_CICD.bat ãªãåºãïŒããžèšæ£ïŒsetup-build â
ç¯ã»facade äŸå€ã»selection 泚èšã»base2ïŒãéçºå
ãžã®å ±åäºé
ã¯ç¡ãïŒæåã¯ä»æ§ã©ããïŒ |
| åå®è¡ïŒWPF 2CSã»net48ã»æ¢åæµçšïŒïŒæ°èŠæ¬ é¥ãŒãïŒäœè
å ±åã»2026-07-19ïŒ | WPF 2CS 㯠WinForms 2CS ãšã»ãŒåäžã§äžçºééïŒãã©ããåã»åç
§åŒµæ¿ã»SqlTextFilePath 1ç¹åŒµæ¿ã»/t:restoreã»èµ·åã¹ã¢ãŒã¯ïŒãæ°èŠ Issue ã¯ç¡ããJïŒãã¹ã¯ãããå®è¡æ€èšŒïŒã¯åã¿ãŒã³ã§å¯ŸåŠæžã¿ïŒrun-verify.md ã®ãã¹ã¯ãããç¯ïŒãå確èªïŒWPF ãåç¯ã§ã«ããŒãèŠåºãã« WPF ãæç€ºè¿œèšãCïŒMySql/Oracle ã®å
HintPath ããµã³ãã«ã§å²ããïŒãå¯ŸåŠæžã¿ïŒreference-rewrite.mdïŒãä»»ææ¹åãšã㊠selection ã«ãWPF 2CS â WinForms 2CS åäžæé ïŒdesktopã»RichClient èŠã»SqlTextFilePath 1ç¹ïŒãã®äžèšã远å ãâ»å ±åè
ã® Select-String -SimpleMatch 'C:\root' åãããŒãã¯ãšãŒãžã§ã³ãåŽã®æ€æ»ã³ãã³ãäžåïŒC:\\root ãšã¹ã±ãŒã or .Contains ã䜿ãïŒã§ãã¹ãã«ïŒæ¬äœã®æ¬ é¥ã§ã¯ãªãïŒdoc 倿Žãªã |
| Issue skill-issue_netcore-richclient-windows-tfm.mdïŒnetcore ã® RichClient æ¬ èœã¯ Business/Dam* ããšïŒäœè
å ±åã»2026-07-19ãnet10.0 WinForms 2CS ã§å®æž¬ïŒ | HãRichClient ã¯å¥ sln ã§è¿œå ãã«ãèŠãã® netcore çã®ç²ŸåºŠäžè¶³ãååã2CS/RichClient 㯠Business.RichClient ãå¥ãã«ãïŒcore 㯠_netcore100ïŒããšæžããããnetcore ã¯æ¬ èœç¯å²ãåºãïŒæšæº 2_/3_Build_netcore100 çŽåŸã® Build_netcore100\net10.0-windows7.0\ ã« OpenTouryo.Business ãš Dam*ïŒDamManagedOdp/DamMySQL/DamPstGrSïŒãŸã§ç¡ãïŒnet10.0\ åŽã«ã¯ããïŒã3_Build_BusinessRichClient_netcore100.bat ã§ããããš Business.RichClient ãæããcore 2CS csproj 㯠OpenTouryo.Business ã net10.0-windows7.0\ ããåç
§ããã®ã§ãBusiness.RichClient.dll ã ãæŸããš OpenTouryo.Business ã§ CS0246ãâ 察åŠïŒnet10.0-windows7.0\ ãã©ã«ããäžžããšåãã³ããnet48 㯠TFM åå²ãç¡ãæ¬ ããã®ã¯ Business.RichClient ã®ã¿ïŒïŒæ¬äœã®æ¬ é¥ã§ã¯ãªãã»èšè¿°ã®éå°è¡šçŸã®ä¿®æ£ïŒãåæ ïŒbuild SKILL â
ç¯ã« netcore 段èœïŒfacade äŸå€ïŒselection 泚èšïŒreference-rewrite.md ã® netcore TFM ç¯ã«ãâ net10.0-windows7.0 ã¯æšæºçŽåŸã ãšäžå®å
šïŒäžžããšåãã³ããïŒexamples.md setup-build-netcore.ps1 ã« $needRichClient ã¬ãŒãã® 3_Build_BusinessRichClient_netcore100.bat ã¹ãããïŒWindows TFM åŽ Business.dll ã®å®åšãã§ãã¯ãJ 远è£ããã¹ã¯ãããå®è¡æ€èšŒãïŒrun-verify ãã¹ã¯ãããç¯ã« GUI ååŠåºæºïŒæ°ç§çåïŒstartup OKã»DB äŸå㯠SQL Server åæïŒã远èšãéçºå
ãžã®æ¬äœ Issue ã¯ç¡ã |
| å Issue ãã¡ã€ã«ã« J ã®è¿œèš Issue ã远å ïŒååŠåºæºã®æ£åŒåã»äœè
å ±åã»2026-07-19ãnet48/.NET10 ã® WinForms/WPF 2CS 4äŸã§å®æž¬ïŒ | GUI ãµã³ãã«ã¯ HTTP ãšã³ããã€ã³ããç¡ããèµ·åããã以äžã®ååŠåºæºãæªå®çŸ©ã ã£ããâ run-verify ãã¹ã¯ãããç¯ãæ£åŒåºæºã«åŒ·åïŒåæ ŒïŒexe ã OT_RESOURCE_ROOT ãæž¡ããŠèµ·åã 5â7s çåïŒåæç»é¢ïŒstartup OKïŒNGïŒèµ·åçŽåŸã®ç°åžžçµäºã»æªåŠçäŸå€ïŒresource/config çãïŒïŒå¯Ÿè±¡å€ïŒãã°ã€ã³ä»¥éã® DB äŸåæäœïŒSqlTextFilePath ã® SQLã»SQL Server(Northwind)ãDB æªèµ·åã§ã®å€±æã¯ã»ããã¢ããäžåã§ãªãïŒWeb ã® /Ping ãšåæ±ãïŒãé察話ãã§ãã¯ã®é圢ïŒStart-Process -PassThruâStart-Sleep 6âHasExited å€å®âKill()ïŒãš exe ã®å
·äœãã¹ïŒnet48ïŒbin\Debug\<app>.exeãcoreïŒbin\Debug\net10.0-windows7.0\<app>.exeïŒã远å ãæ¬äœ Issue ç¡ã |
| ã°ããŒãã«å€æŽã®èšé²èŠçŽãæ°èšïŒäœè
ææ¡ã»2026-07-19ïŒ | ãrepo å€ïŒãã·ã³/ãŠãŒã¶å
šäœã«æ®ã倿Žã䌎ãã¹ãã«ã¯å€æŽãã°ãæ®ãã¹ãããšã®ææ¡ã暪æç£æ»ã§å¯Ÿè±¡ãç¹å®ïŒconfigïŒOT_RESOURCE_ROOT User ç°å¢å€æ°ã»ASP.NET State Service èµ·åïŒïŒbuildïŒçã«ãŒã C:\otr\ äœæã»long path LongPathsEnabled ã¬ãžã¹ããªã»VS å°å
¥/PATHïŒïŒbase2ïŒC:\otr\ äœæ¥ããªãŒïŒã誀æ€ç¥ïŒconfig ã® FxContainerization ã¯èªã¿åãæ©æ§ãlogging/richclient/transmission ã®ããµãŒãã¹ã㯠WS çšèªïŒã¯é€å€ã眮ãå Žã¯äœè
éžæã§ èŠçŽâAGENTS.mdïŒãã°âå¥ãã¡ã€ã«ïŒsrc/instructions/AGENTS.md ã®ããããžã§ã¯ã ããªã·ãŒãã« ### ãã·ã³/ãŠãŒã¶å
šäœã«æ®ã倿Žã¯ SETUP-CHANGES.md ã«èšé²ããïŒçš®å¥/察象/å€/æ¥ä»/å·»ãæ»ãã»ã³ãããããã»AGENTS.md èªäœã«ã¯æžããªããåã€ã³ã¹ããŒã«ã§äžæžããã»å¯Ÿè±¡äŸãšè©²åœ3ã¹ãã«ãåæïŒã远å ãåžžæããŒãã§å¹ãã®ã§åã¹ãã«ã¯çãã€ã³ã¿ã®ã¿ïŒéè€åé¿ïŒïŒresource-configãOT_RESOURCE_ROOTïŒæªèšå®ãã·ã³ã¯èµ·å倱æã®é
åžæ³šæã䜵èšãã»config âŠãState Serviceãã»build §1ãC:\otrïŒlong pathããå®ãã° SETUP-CHANGES.md 㯠target åŽã§çæããéçšïŒã¢ã»ãã repo ã«ã¯çœ®ããªãïŒãAGENTS.md tok~4422ïŒåžžæããŒãæ å
ïŒ |
| æ°ã¹ãã« opentouryo-project-setup-dbïŒéžæåŒã® DB/ããŒã¿ã¹ãã¢æ§ç¯ã»äœè
ææ¡ã»2026-07-19ïŒ | ç°å¢ïŒããŒã¿ã¹ãã¢ïŒæ§ç¯ãæ¢åã¹ãã«ã«ç¡ãã⊠config ã®æ¥ç¶ç¢ºèªã»run-verify ã® DB äŸåæäœã®åæãæºãããªãã£ããäœè
ãå®éçšã§äœ¿ã LocalServicesOnDockerïŒNetDevInfraWGinOSSConsortiumïŒã§ SQL Server/MySQL/PostgreSQL/Redis/MongoDB ã Docker èµ·åããéžæåŒïŒä»»æïŒã¹ãã«ãæ°èšãWebFetchïŒãã©ãŒçªåã§æ¢å®ã OpenTouryo ãµã³ãã«ã®æ¥ç¶æååãšäžèŽã確èªïŒSQL 1433/sa/seigi@123/NorthwindïŒConnectionString_SQLãMySQL 3306/root/seigi@123/testïŒConnectionString_MCNãåç³»ãããžã§ã¯ãã§èšèšãæã£ãŠããïŒãå€ãã¯ç¡æ¹å€ã§æ¥ç¶å¯ãOracle ã¯æ¬ Docker ã«ç¡ãïŒConnectionString_ODPïŒSCOTT/tiger ã¯å¥éïŒãDocker ã®ã³ã³ãã/ããªã¥ãŒã /ãããã¯ãŒã¯ common_link ã¯ã°ããŒãã«å€æŽïŒSETUP-CHANGES.md ã«èšé²ïŒåé
ããªã·ãŒïŒãäœçœ®ã¥ãïŒå¿
é ã§ã¯ãªãéžæåŒïŒæ¢å DB ããã°äžèŠïŒãåæ ïŒãã¡ãµãŒã flow ã«ãïŒéžæåŒïŒããŒã¿ã¹ãã¢ãè¡ïŒREADME â 矀ïŒAGENTS 衚ïŒconfig âŠã»run-verify ããçžäºåç
§ãinstall.ps1 ã§æŸããããšã宿ž¬ãå
š33â34ã¹ãã« |
| AGENTS.md ã®ã¹ãã«è¡šã README ãªã³ã¯ãžçœ®æïŒREADME ã衚圢åŒïŒäœ¿ãã©ããïŒã«ïŒäœè
ææ¡ã»2026-07-19ïŒ | ããšãŒãžã§ã³ãã¯å SKILL.md ã® description ã§èªåèªèããã®ã§ãAGENTS.mdãåžžæããŒããã« 34 è¡ã®è¡šãæã€ã®ã¯éè€ããšã®ææïŒåŠ¥åœïŒãâ AGENTS.md ## ã¹ãã« ã®è¡šãæ€å»ãããdescription ã§èªåèªèã»é
眮å
ã»äžèЧãšäœ¿ãã©ãã㯠README åç
§ïŒGitHub blob ãªã³ã¯ïŒãã®çãæ¡å
ã«çœ®æãREADME ã«ã¯ ## ã¹ãã«äžèЧ ãæ°èšãããããŸã§ã®ã°ã«ãŒãåãïŒâ ç«ã¡äžãã»æ§æïŒâ¡åå±€ã®ã³ãŒãå®è£
ïŒâ¢å¶åŸ¡ã»å®çŸ©ã»æšªæïŒã**3ã€ã®è¡šãã¹ãã«ïœäœ¿ãã©ããã**ã«ããŠäœ¿ãã©ãããæèšïŒAGENTS ã®è¯è³ªãªäœ¿ãã©ããæãç§»èšïŒãæ§æããªãŒã®å·šå€§ãªã¹ãã«åæã¯1è¡ã«å§çž®ã广ïŒAGENTS.md tok~4422â3403ïŒåžžæããŒãæ ãçŽ1000 ç¯çŽïŒãREADME ã«å
š34ã¹ãã«ãæãããšã grep ã§ç¢ºèªïŒæ¬ èœ0ïŒããªã³ã¯ã¯ target é
眮㮠AGENTS.md ããã蟿ãããã GitHub ã®çµ¶å¯Ÿ URL |
| çæã¹ã¯ãªããã®çœ®ãå Žã scripts/ ã«æç€ºïŒäœè
å ±åã»2026-07-19ïŒ | çæãã .ps1ïŒsetup-build.ps1/build-app*.ps1/setup-build-netcore.ps1/âŠ-richclient*.ps1 ç 倿°ïŒããªããžã㪠ã«ãŒãã«æ£ä¹±ããŠãããã¹ãã«ã¯ãã¹ã¯ãªããåããŠæ®ãããšã ãèšãã眮ãå Žãæªæå®ã ã£ãã®ãåå ãâ opentouryo-project-setup-build ã«ãçæ .ps1 㯠scripts/ ã«çœ®ãïŒã«ãŒãçŽçœ®ãããªãïŒããæèšïŒãã£ãŠã¯ãããªãããšæŽæ°ãé圢㮠$repo ã芪åç
§ã«ä¿®æ£ïŒscripts/ é
äžã ãš $PSScriptRoot ã scripts\ ãæããã $repo = Split-Path -Parent $PSScriptRootïŒçžå¯Ÿ HintPathã»ãã³ãå
ã¯ã«ãŒãåºæºïŒãexamples.md ã®3ã¹ã¯ãªããïŒsetup-build / setup-build-netcore / build-appïŒã® $repo ãå
šãŠä¿®æ£ïŒåé ã«é
眮泚èšã.gitignoreïŒâŠïŒã¯ scripts/ ãé€å€ããªãã®ã§åŸæ¥ã©ããã³ããããããã远èšïŒ$PSScriptRoot åºæºãªã®ã§ã©ã®ã«ã¬ã³ããã£ã¬ã¯ããªããã§ãå®è¡å¯ïŒexamples å
šè¡ã§ CWD çžå¯Ÿãã¹ç¡ãã».\ 㯠Push-Location $cs å
ã®ã¿ç¢ºèªïŒãåæïŒ.ps1 ãšããŠå®è¡ã貌ãä»ãå®è¡ã ãš $PSScriptRoot 空ãã»scripts\ ã¯ã«ãŒãçŽäž1éå±€ãSplit-Path -Parent ã1éå±€åæãã setup-build/examples ã«æèš |
| åå®è¡ïŒBatchã»net48ïŒã§å€æãã Kãrun-verify ã« Batch/CLI æ€èšŒæé ã/LãConsole.ReadKey ã§ exit code äžä¿¡ãïŒDB æ¡ä»¶ä»ãèšæ£ïŒäœè
å ±åã»2026-07-19ãDB äŸåæäœãåããŠå®æž¬ã§éã£ãïŒlocalhost SQL Server/Northwind ã§ SelectCount 3ä»¶ïŒ | KïŒã¹ãã«ïŒïŒrun-verify ã« Batch/CLI ã®æ€èšŒæé ã»ååŠåºæºãç¡ãã£ãïŒWebïŒãã¹ã¯ããããŸã§ã¯ãã£ãïŒãâ run-verify.md ã«ãããã/CLIãç¯ã远å ïŒ(a) å®è¡åã«ãµã³ãã«ã® readme.txt ã§å¿
èŠãªåŒæ°ã確èªïŒç¡åŒæ°ã ãš argsDic["/DAP"] çã§ KeyNotFoundExceptionïŒåŒæ°äžè¶³ãSimpleBatch 㯠/Dap SQL /Mode1 individual /Mode2 static /EXROLLBACK -ïŒã(b) ååŠïŒframework åæåïŒæ¥åããžãã¯å°éïŒåºåã3ä»¶ã®ããŒã¿ããããŸããçïŒãDB ãããã°çµæä»¶æ°ãŸã§ã(c) exit code ã§å€å®ããªãïŒäžèš LïŒãLïŒæ¬äœïŒãµã³ãã«ã³ãŒããOpenTouryo ãžã® Issue åè£ïŒïŒSimpleBatch_sample ãæ«å°Ÿã§ Console.ReadKey()ïŒProgram.cs 79/85ïŒãåŒã¶ãããé察話ïŒstdin ãªãã€ã¬ã¯ãïŒã ãšæåã§ã InvalidOperationException ã§ exit code éãŒãïŒæ¥ååŠçã¯æåæžã¿ïŒããã©ãŒç¢ºèªïŒRerunnableBatch_sample/2/3 ãå
šãŠ Console.ReadKey ããïŒïŒããã ãµã³ãã«å
šè¬ãç¡äººå®è¡åæã®ãããã« ReadKey ã¯äžé©åâã³ã³ãœãŒã«æç¡ã§åå² or åé€ãæãŸããããæ¬äœåŽææïŒãã¹ãã«ã¯ãæåŠã¯æšæºåºåã§å€å®ãã§åé¿ãèšæ£ïŒãããŸã§ã®ãDB äŸåã¯å¯Ÿè±¡å€ããæ¡ä»¶ä»ããžïŒDB ãããã°çµæãŸã§ç¢ºèªïŒç¡ããã°å¯Ÿè±¡å€ïŒïŒdesktop ç¯ãåæ§ã«ä¿®æ£ãæ¬äœ Issue åè£ã¯ LïŒä¹
ã
ã®æ¬äœåŽææïŒ |
| 掟çïŒvariantïŒãåæã«æ±ºãæã¡ãããïŒéžæã2段éã«ææåïŒäœè
å ±åã»2026-07-19ïŒ | ååãâ ç³»åãå
šéšæç€ºããçŽãããããã®1æ®µæ·±ãæŽŸçã¬ãã«ã§åçºïŒãããç³»åãéžãã åŸãRerunnableBatch_sample/2/3ã»SimpleBatch_sample ã®äžãã SimpleBatch_sample ãç¡éžæã§éžã°ãããåå ïŒselection ã®æ§æã掟çã¯ç³»åãéžãã åŸã®æã§ããããã代衚ãèªåã§éžãã§ããããšè§£éããããâ selection ãããµã³ãã«éžæã¯2段éãã«æžãæãïŒâ ç³»åãå
šéšæç€ºãâ¡éžãã ç³»åã«è€æ°ã®ãµã³ãã«ãããã°æŽŸçãæç€ºããŠéžã°ããïŒä»£è¡šã1ã€ã«æ±ºãæã¡ããªãïŒãäŸåæïŒãããïŒSimple/Rerunnableã3ãWSClientïŒWin/WPF/Win2/WinConeã2CSïŒæ©èœãã¢åçš®ïŒã掟çã1ã€ã®ãšãã ã確èªäžèŠããã£ãŠã¯ãããªãããšã«ããæŽŸçãåæã«1ã€ã«æ±ºãæã¡ãããã远å ãselection tok~2426ïŒç®å®å
ïŒ |
| RerunnableBatch 宿ž¬ã§å€æãã Nãçžå¯Ÿ .\Dao ã¯åŒµæ¿ããªããïŒKã忢± CREATE *.sql ã®é©çšã/LãReadKey 㯠Rerunnable ãåæ§ãè£åŒ·ïŒäœè
å ±åã»2026-07-19ãDB皌åã»ORDERS2æ¢åã§ 830è¡ INSERT æåïŒãDB ãããã°çµæãŸã§ãã®å®äŸïŒ | NïŒã¹ãã«ïŒïŒâ¥ resource-config ã®ãçžå¯Ÿãã¹äžå¯ïŒçµ¶å¯Ÿâ%OT_RESOURCE_ROOT%ãååãçŽ çŽã«é©çšãããš RerunnableBatch_sampleã3 ã® SqlTextFilePath=.\DaoïŒçžå¯Ÿã»æå³çèšèšïŒãæžãæããŠå£ãå±éºããã©ãŒç¢ºèªïŒRerunnable 3皮㯠.\DaoïŒDao\*.sql/.xml ã CopyToOutputDirectory ã§ bin\Debug\Dao ãžã³ããŒããèªå·±å®çµåïŒSQL 㯠resource\ åŽã«ç¡ãïŒãSimpleBatch ã®ã¿çµ¶å¯Ÿãã¹ïŒC:\root\files\resource\SqlïŒïŒåŒµãæ¿ã察象ãâ resource-config.md ã«ãâ
äŸå€ïŒSQL 忢±ã®èªå·±å®çµåïŒ.\Dao çïŒã¯åŒµãæ¿ããªããç¯ã远å ïŒåŒµãæ¿ã察象ïŒå
±æ resource\ ã絶察ãã¹ã§åç
§ããããŒã ããçžå¯ŸïŒbin\Debug ããå®è¡åæããçžå¯Ÿäžå¯ã㯠IIS ç CWD ãã¢ããªå€ã®ããã»ã¹ã®è©±ãšæŽçïŒïŒããŒäžèŠ§ã® SqlTextFilePath è¡ã«äŸå€åç
§ãKè£åŒ·ïŒRerunnable ã¯åŒæ°äžèŠã ã DB ã¹ããŒãåæïŒNorthwind ã« ORDERS2ã忢± CREATE ORDERS2.sqlïŒâ run-verify ããã/CLI ç¯ã«ã忢± CREATE *.sql ã確èªã»é©çšãã远å ãsetup-db ã«ãããµã³ãã«åºæããŒãã«ã¯ Northwind ã«å«ãŸããªãïŒå梱 SQL ãæµããã远èšïŒdb tok~1472ïŒãL確å®ïŒRerunnable ã§ã Console.ReadKey()ïŒ79/136/145ïŒå®æž¬ç¢ºèªïŒããã variant å
±éã§ç¢ºå®ïŒrun-verify ã«ãSimple/Rerunnable ç³»å
±éã»å®æž¬ãæèšïŒã远èšïŒ2026-07-19ïŒïŒskill-issue ãã¡ã€ã«ã® N/K/L ã« sample2 ã®å確èªâããã« Issue L ãããããå
š4 variant ã§ç¢ºèªãã«æŽæ°ïŒ_sample3 ããæšå®ãâç¢ºèªæžã¿ã«ææ ŒïŒããã©ãŒã§ sample2/sample3 ãšãåäžã確èªïŒConsole.ReadKey 79/136/145ãSqlTextFilePath=.\DaoãCREATE ORDERS2.sql 忢±ãRerunnable 3皮㯠830è¡ INSERTïŒïŒå®æž¬ãšããã³ã¹ã SimpleïŒRerunnableÃ3 ã®å
š4 variant ã«ã远èšïŒ2026-07-19ã».NET10 è£åŒ·ïŒïŒskill-issue ã« core åŽã®å確èªãå ãã N/L 㯠net48/.NET10 äž¡ã©ã³ã¿ã€ã ã§ç¢ºå®ããã©ãŒç¢ºèªïŒcore ReadKey 㯠SimpleBatch L86/92ã»RerunnableÃ3 L86/143/152ãSqlTextFilePath 㯠Simple 絶察 C:/root/files/resource/SqlïŒRerunnableÃ3 çžå¯Ÿ ./DaoïŒcore ã¯ã¹ã©ãã·ã¥ãnet48 㯠.\ïŒãâ ã¹ãã«åæ ïŒresource-config ã® N äŸå€ãã. å§ãŸãã®çžå¯ŸïŒnet48 .\ïŒcore ./ïŒãïŒåºåå
ïŒcore 㯠bin\Debug\net10.0-windows7.0\DaoïŒïŒãnet48/.NET10 å
±éã®èŠåãã«äžè¬åãrun-verify ã® L ã« exit code 0xE0434352/-532462766ã»ãäž¡ã©ã³ã¿ã€ã ã§å®æž¬ããæèšãconfig ã¹ãã«æ¬äœïŒSKILL.mdïŒäžå€ïŒtok 圱é¿ãªã |
| OïŒCLI 㯠.NET 10.0 ã®ã¿ïŒnet48 ã¯ããããïŒã ã selection ç³»å衚ããnet48 / .NET 10.0ããšèª€èšïŒäœè
å ±åã»2026-07-19ïŒ | selection ã®ç³»åè¡šã»æç€ºè¡šã CLI ã net48/.NET10 ãšè¡šç€ºããŠããã宿
㯠.NET 10.0 å°çšããã©ãŒç¢ºèªïŒnet48 Samples\CLI_sample\{Simple_CLI,DAG_Login_CLI,LIR_Login_CLI} 㯠csproj ç¡ãã»README ã®ã¿ïŒSimple_CLI\README.mdïŒãSharpromptã.NET Fxã®ãµããŒãçµäºããã®ã§âŠãããããããïŒã.NET10 Samples4NetCore\Legacy\CLI_sample\*\*\*.csproj ã¯3æ¬ãšãå®åšãâ selection ã®ç³»å衚 CLI è¡ãã.NET 10.0 ã®ã¿ãã«æ¯æ£ïŒè¡šäžã«ãâ
CLI 㯠.NET 10.0 ã®ã¿ïŒnet48 ã¯ããããïŒSharprompt ã .NET Fx çµäºãWeb Forms ã net48 ã®ã¿ãã®éïŒã泚èšïŒãã£ãŠã¯ãããªãããšããã©ã³ã¿ã€ã 察象å€ã®çµåãïŒWeb Forms ã coreïŒCLI ã net48ïŒnet48 å°çšã coreïŒãã«äžè¬åãselection tok~2562ïŒç®å®å
ïŒãæ¬äœåŽã®æ¬ é¥ã§ã¯ãªãïŒäŸåã©ã€ãã©ãªéœåã®æå³çããããïŒ |
| Oç¶å ±ïŒ2CS æ©èœãã¢ãã.NET10 ã®ã¿ããšèª€æç€ºïŒå®åšãã net48 ãèœãšããïŒO ãšéæ¹åãäœè
å ±åã»2026-07-19ïŒ | selection ã®æŽŸçæç€ºã§ 2CS æ©èœã㢠CustCtrl/GenDaoAndBatUpd/TimeStamp ãã.NET10 ã®ã¿ããšè¡šç€ºãã net48 ãæ¬ èœããã©ãŒç¢ºèªïŒãã®3ãã¢ã¯ net48ïŒSamples\2CS_sample\ïŒã».NET10ïŒSamples4NetCore\Legacy\2CS_sample\ïŒäž¡æ¹ã« csproj å®åšïŒäž¡å¯Ÿå¿ãããã« AsyncEvent_sample 㯠net48 ã®ã¿ïŒ.NET10 ã«ç¡ãïŒã®é察称ãçºèŠãåå ïŒæŽŸçããšã®ã©ã³ã¿ã€ã å¯çšæ§ã確èªããæ±ºãæã¡ïŒO ã®ãéåŒããã®æŽŸçã©ã³ã¿ã€ã çïŒãâ selection ã®æŽŸçæç€ºæ³šèš(2)ã« 2CS æ©èœãã¢ãå®ååæïŒã©ã³ã¿ã€ã æèšïŒCustCtrl/GenDaoAndBatUpd/TimeStampïŒäž¡å¯Ÿå¿ãAsyncEventïŒnet48 ã®ã¿ïŒãæ°é
(3)ãæŽŸçããšã«å¯Ÿå¿ã©ã³ã¿ã€ã ãéãããšãããïŒåæã«èœãšããªããcsproj ã®æç¡ïŒSamples\ïŒnet48ïŒSamples4NetCore\ïŒ.NET10ïŒã§å€æãã远å ããã©ãŒåç
§ã¯ã¹ãã«æ¬æã«æžããªãæ¹éã«åŸããæŽŸçãã©ã«ãã® csprojã衚çŸã«ä¿®æ£ãselection tok~2724ïŒç®å®å
ïŒãæ¬äœæ¬ é¥ã§ã¯ãªãïŒæç€ºåŽã®ç¢ºèªæŒãïŒ |
| ã©ã³ã¿ã€ã 衚èšã TFMïŒTarget Framework MonikerïŒã«çµ±äžïŒäœè
æç€ºã»2026-07-19ïŒ | net48ïŒTFMïŒãš .NET10/.NET 10.0ïŒé TFMïŒãæ··åšããŠããã®ã .NET10/.NET 10.0/.NET 10 â net10.0ã.NET Framework 4.8 â net48 ã«äžæ¬çµ±äžïŒ16ãã¡ã€ã«ã»70ç®æïŒskills å
šè¬ïŒsrc/instructions/AGENTS.mdïŒãé€å€ïŒnetcore100ïŒå®ãããåïŒã».NET Core/core/netcoreïŒç¥ç§°ïŒã»net10.0-windows7.0ïŒæ¢ã« TFMïŒã».NET SDK/.NET FxïŒè£œååïŒãèª€çæºïŒ.NET 10.0.302 çããŒãžã§ã³åïŒãç¡ãããšãç¢ºèªæžã¿ã眮æã¯ççž®æ¹åïŒå
šã¹ãã« ããŒã¯ã³æžïŒäŸ auth 4958â4952ïŒïŒç®å®å
ç¶æãæ³šïŒæ¬ §4.3 ã®éå»ãã°èšè¿°ïŒå®æž¬æç¹ã® .NET10 衚èšïŒã¯å±¥æŽãšããŠæ®ã |
| WSClient_sampleïŒ3å±€ WS ã¯ã©ã€ã¢ã³ãã»net48ïŒã®åãåºãããæ±ºãæã¡æé ãåïŒãšãŒãžã§ã³ãã«å€æãããªãïŒäœè
æ¹éïŒWSClientWin å®äºå ±åã»2026-07-19ïŒ | æ¹éãã¹ãã«å©çšãšãŒãžã§ã³ãåŽã«ãªãã¹ãéžæã»å€æãããªãããWSClientWin 远å ã®å®æž¬å ±åãããæ¯åã®å€æã ã£ã4ç¹ã samples/webservices.md ã«ãWSClient_sample ã®åãåºãïŒä»¥äžã§æ±ºãæã€ãç¯ãšããŠåºå®ïŒâ ãã©ããåããªãïŒå
éå±€ WS_sample\WSClient_sample\<掟ç>\ ç¶æã..\..\Build\ïŒWS_sample\Build\ ã® WSServer/WSIFType DLL åç
§ãä¿ã€ãããMAX_PATH 㯠long path ã§åé¿ïŒãã©ããåäŸå€ïŒâ¡â€ HintPath ã¯2系統ïŒOpenTouryo.ïŒNewtonsoftâ..\..\..\OpenTouryoAssemblies\Build_net48\ã3éå±€ããWSIFType/WSServerâ..\..\Build\ ç¶æïŒâ¢*_all.sln ã¯åé€ã»åäž .sln ã䜿ã**ïŒ_all.sln 㯠Frameworks\...\ServiceInterface\WCFService/ASPNETWebService ã®ãœãŒã¹ ãããžã§ã¯ãåç
§ïŒDLL åç
§æ¹éã§äžæç«ïŒâ£â¥âŠ config ã¯2ããŒã®ã¿ïŒSqlTextFilePathâ%OT_RESOURCE_ROOT%\SqlãSpRp_RsaCerFilePathâ%OT_RESOURCE_ROOT%\X509\SHA256RSA_Server.cerãFxXML* 㯠EmbeddedResourceïŒåŒµæ¿äžèŠïŒããã©ãŒè£åãæžã¿ïŒcsproj HintPathã»_all.sln ã® WCFService/ASPNETWebService åç
§ã»app.config 2ããŒçµ¶å¯Ÿã»EmbeddedResource 18ä»¶ïŒãMAX_PATH ç¯ã«ããWSClient ã¯äŸå€ïŒãã©ããåããªããã远èšãcore SKILL.md ã¯æ¢ã« webservices.md ãåç
§ïŒæ¬äœäžå€ã»ããŒã¯ã³æ 圱é¿ãªããå°éç¹ã¯ãéããã»ãã«ãéãããŸã§ïŒWS ã¢ãŒãå®å㯠WS ãã¹ãèµ·åïŒç¯å²å€ïŒ |
| ãéèŠèšæ£ã3å±€CS ã® WS ãã¹ã Frameworks\Infrastructure\ServiceInterface ãåŒã蟌ãå·¥çšãæ¬ èœïŒå®åäžå¯ã ã£ãïŒäœè
ææã»2026-07-19ïŒ | åé
ã§ãWSClient 㯠_all.sln åé€ã»åäž slnïŒWS ãã¹ãã¯ç¯å²å€ããšããã誀ãããã©ãŒç²Ÿæ»ã§ 3å±€CS ã®å®åé£éã倿ïŒWSClient â[WS protocol=2]â ServiceInterface ãã¹ãïŒWSServer_sample/WSIFType_sample ãåç
§ã OpenTouryo DLL äžã§ãã¹ãïŒãServiceInterface 㯠ASPNETWebServiceïŒæ¢å®ïŒã¯ã©ã€ã¢ã³ã app.config ã TMProtocolDefinition2.xmlïŒWeb API çµè·¯ãpackages.configânuget restoreïŒ ãš WCFServiceïŒä»£æ¿ã»TMProtocolDefinition.xmlã»PackageReferenceârestoreïŒ ã®2ãã¹ãã_all.sln 㯠clientïŒWCFServiceïŒASPNETWebService ãæããæ£ãã3å±€æ§æã ã£ãïŒåé€ã¯èª€ãïŒãâ samples/webservices.md ã®åœè©²ç¯ãã3å±€CSïŒã¯ã©ã€ã¢ã³ãïŒWS ãã¹ããã»ããã§åŒã蟌ããã«å
šé¢æ¹çš¿ïŒâ ã¯ã©ã€ã¢ã³ãïŒåŸæ¥æé ïŒâ¡æ¥åããžãã¯ïŒ(A)ç¯ïŒâ¢WS ãã¹ãåŒã蟌ã¿ïŒFrameworks\Infrastructure\ServiceInterface\ ã®çžå¯Ÿäœçœ®ãä¿ã€ïŒ_all.sln 解決ïŒOpenTouryo.* ã Build_net48 ãžã»WSServer/WSIFType ãåŒã蟌ãã WS_sample\Build\ ãžåŒµæ¿ïŒASPNETWebService=nuget restoreã»WCFService=/t:RestoreïŒ_all.sln ã䜿ãïŒãå°éç¹ïŒ3ãããžã§ã¯ã 0 error ãã«ããWS å®å確èªã¯ run-verifyïŒASPNETWebService ã IIS Express èµ·åâã¯ã©ã€ã¢ã³ããã protocol=2 åŒã³åºãïŒãrun-verify ã®ãã¹ã¯ãããç¯ãWS ãµãŒãåŽèµ·åãã ServiceInterface/ASPNETWebService å
·äœåãfacade ã®çŠæ¢ãFrameworks ãåã蟌ãã§æ¹é ãã«äŸå€æ³šèšïŒWS ãã¹ãã¯å®åå¿
é ã§åŒã蟌ãïŒæ¹é ã§ãªãé
眮ã»èµ·åãfacade body tok~2874ã»ç®å®å
ïŒããã©ãŒè£åãæžã¿ïŒServiceInterface 2 csproj ã® OpenTouryo/WSServer åç
§ã»restore æ¹åŒã»_all.sln ã®3ãããžã§ã¯ãã»ã¯ã©ã€ã¢ã³ã TMProtocolDefinition2 æ¢å®ïŒ |
| éçºæ¯æŽããŒã«ïŒDaoGen/DPQueryïŒã®åãåºãå
ã OT_Tools\ é
äžã«åºå®ïŒäœè
æç€ºã»2026-07-19ïŒ | åŸæ¥ã¯ãªãçŽäžïŒTools\<tool> äŸç€ºã»HintPath ..\OpenTouryoAssemblies\...ïŒ1éå±€ïŒã§é
眮ãããææ§ãâ OT_Tools\DaoGen_Tool\ / OT_Tools\DPQuery_Tool\ ã®1éãã«åºå®ïŒOT_Tools\ é
äžã«ãŸãšããŠãªãçŽäžã«æ£ãããªãïŒã2éå±€ã«ãªãã®ã§ãã³ãå
HintPath ã ..\..\ ã«æŽæ°ïŒnet48ïŒ..\..\OpenTouryoAssemblies\Build_net48\ãcoreïŒ..\..\OpenTouryoAssemblies\Build_netcore100\net10.0\ïŒãåæ ïŒsamples/daogentool.mdã»samples/dpquerytool.mdïŒé
眮ïŒHintPath æ·±ãïŒãopentouryo-project-setup-core SKILL.mdïŒåãåºãå
æèšã»tok1467ïŒãfacade ã®é
眮åºå®èŠåã«ãéçºæ¯æŽããŒã«ã¯ 2973ïŒãããããç®å®å
ãåãœãŒã¹ïŒOT_Tools\ é
äžãã远å ïŒtokFrameworks\Tools\<tool>ïŒãš csproj åïŒnet48=<tool>.csprojïŒcore=<tool>Core.csprojïŒã¯äžå€ |
| ãéèŠèšèšå€æŽãWSIFType_sample/WSServer_sample ã DLL åç
§âProjectReference ã«å
šé¢åæ¿ïŒäœè
æç€ºã»2026-07-19ïŒ | æç€ºïŒWS_sample\{WSIFType_sample,WSServer_sample} ã®ãã€ããªåºåãåç
§ããŠããå
šã¢ããªã DLL åç
§âProjectReference ã«ãçç±ïŒWSServer_sample=Bã»Då±€ãWSIFType_sample=åãæž¡ãåã§ãå°å
¥åŽã Pã»Bã»D å±€ã䞊è¡éçºãã察象ã ããïŒãã¬ãŒã ã¯ãŒã¯ OpenTouryo.* ã¯åŸæ¥ã©ãã DLL åç
§ïŒãâ ååã確ç«ïŒãã¬ãŒã ã¯ãŒã¯ïŒDLL åç
§ïŒãµã³ãã«èªèº«ã® Bã»Dã»åïŒProjectReferenceãWS_sample\Build\ ãžã® DLL ã³ããŒïŒcopy-to-BuildïŒã¯å
šå»ãåæ ïŒ6ãã¡ã€ã«ïŒïŒwebservices.mdïŒããªã CS0246ïŒåç
§æ¹åŒã®äœ¿ãåãïŒ(A) 1ãœãªã¥ãŒã·ã§ã³äžŠè¡éçºïŒ3å±€CS ç¯ïŒclient step2ã»host bullet ã ProjectReference åã»sln ã« WSIFType/WSServer ãå«ããã»å°éç¹ 5ãããžã§ã¯ãïŒïŒMAX_PATHïŒWS ç³»ã¯ãã©ããåããªãçç±ã ProjectReference çžå¯Ÿãã¹ã«ïŒããå
šé¢æ¹çš¿ãcore SKILL.mdïŒ(A)/(B) èŠçŽã ProjectReference ã«ïŒtok1550ïŒãwebforms.mdïŒWebForms ã (A) ã§ WSIFType/WSServer ã ProjectReferenceãMySql/Oracle 㯠3rd-partyïŒãã³ã DLL åç
§ã«åŒµæ¿ãreference-rewrite.mdïŒWSServer/WSIFType 㯠DLL 匵æ¿ã®å¯Ÿè±¡å€ïŒProjectReference ãšé€å€æ³šèšãtransform SKILL.mdïŒWS åç
§é€å»ã®èšè¿°ãã(A)ïŒProjectReferenceãã«æŽåïŒtok2522ïŒãexamples.md build-app.ps1ïŒWS å¥ãã«ãïŒã³ããŒãå»ã WebForms ãœãªã¥ãŒã·ã§ã³äžæ¬ãã«ãïŒWS 㯠ProjectReference ã§åæãã«ãïŒã«æ¹èšïŒããŒã« path ã OT_Tools\ ã«ããã©ãŒè£åãæžã¿ïŒWSServerâWSIFType ã¯å
ãã ProjectReferenceã»OpenTouryo.* ã¯åæ DLLã»consumer 㯠WS_sample\Build\ ã DLL åç
§ïŒãâ»ãã¹ã/ã¯ã©ã€ã¢ã³ãã® ProjectReference çžå¯Ÿæ·±ãã¯å®ãã«ãæªæ€èšŒïŒãé
眮ã«åããããè¡šèš |
| WSClientWin å®ãã«ãå®äºå ±åãã㮠§⢠粟床åäž4ç¹ïŒäœè
å ±åã»2026-07-19ã_all.sln 5ãããžã§ã¯ã 0 error éæïŒ | 宿ž¬ã§å€æããèšèŒã®éœéœ¬ã»æŒãã webservices.md §⢠ã«åæ ïŒ(1) _all.sln ã®ãã¹ãåç
§ã¯ããã®ãŸãŸè§£æ±ºãããªãïŒæºã¯ Samples\ éå±€åæïŒclient ãã ..\..\..\..\FrameworksïŒãSamples\ 段ãèœãšã repo èŠçŽã§ã¯ client ã3éå±€ã«ãªã up4 ã root ãçªãæããâãã¹ãåç
§ã ..\..\..\ïŒup3ïŒã«1段æžããã§â ã®ããã©ããåããªããããSamples\ 段ã¯èœãšãïŒWS_sample ã¯ãªãçŽäžã»å
éšéå±€ã®ã¿ä¿æïŒclient 3éå±€ïŒãã«æç¢ºåã(2) ASPNETWebServiceïŒpackages.configïŒã®åŸ©å
å
ïŒ_all.sln äžæ¬ restore 㯠packages ããœãªã¥ãŒã·ã§ã³åŽã«çœ®ãããcsproj ã¯çžå¯Ÿ packages\...ïŒMicrosoft.Data.SqlClient.SNI.targetsïŒâ nuget restore <asp>\packages.config -PackagesDirectory <asp>\packages ã§ project çŽäžãžå¥é埩å
ãå¿
é ã(3) ãã¹ã config ã® resource åŒµæ¿æŒãïŒASPNETWebService/WCFService ã® app.config ã« C:\root\files\resource\... ã6ããŒïŒFxXMLMSGDefinition/FxXMLTCDefinition/FxXMLTMInProcessDefinition/FxLog4NetConfFile/SqlTextFilePath/SpRp_RsaCerFilePathïŒã%OT_RESOURCE_ROOT% åïŒbuild äžèŠã»run-verify ã§å¿
èŠïŒãASPNETWebService 㯠Web.config ã® <appSettings file="app.config"> ã§ app.config ãå®è¡æããŒãžïŒWeb.config ã ãèŠããšèŠèœãšãïŒãç¶Žã㯠ASPNETWebService=XmlïŒWCFService=XMLã(4) _all.sln ã®ã€ã³ãã³ãïŒãã®ãµã³ãã«ã® ProjectConfigurationPlatforms ã¯ã¿ã2åïŒè¿œå è¡ã¯æ¢åã«åãããããã©ãŒè£åãæžã¿ïŒhost app.config 6ããŒã»Web.config appSettings file=ã»ç¶Žãå·®ïŒãCLI åæ²ã¯åã»ãã·ã§ã³ã§ä¿®æ£æžã¿ïŒè¡šã»â
泚èšãšããnet10.0 ã®ã¿ãã§äžèŽïŒïŒéœéœ¬è§£æ¶æžã¿ãç³ãéãè§£æ±ºç¶æ³ïŒé
ç®1ïŒProjectReference 段æ°ïŒïŒè§£æ±ºââä»åã®å®ãã«ãïŒ0 errorïŒïŒã¬ã€ã¢ãŠãå®å
šåºå®ã§ãclientâWSServer/WSIFTypeïŒ..\..\WSServer_sample\...ïŒWS_sample å
2éå±€ã»(A)ç¯æ¢èŒïŒãhostâWSServer/WSIFTypeïŒ..\..\..\..\WS_sample\WSServer_sample\...ïŒhost 4éå±€ã»Â§â¢ ã«æç€ºïŒãšæ±ºãæã¡ç¢ºå®ãé
ç®2ïŒbuild-app.ps1 æ°ãããŒïŒïŒæªè§£æ±ºã®ãŸãŸââä»å㯠WSClient ã _all.sln çŽãã«ãã§æ€èšŒããŠãããbuild-app.ps1ïŒWebForms çšã»WS ã ProjectReference ã§åãœãªã¥ãŒã·ã§ã³äžæ¬ãã«ãããæ¹èšãããŒïŒã¯åå®è¡æªæ€èšŒãåé æ³šèšã¯ç¶æ |
| WSClientWin2_sample 㯠WS éäŸåã®åç¬ På±€ UI ãã¢ïŒãWSClient ç³»ïŒå
šéš3å±€ãåæãæ¯æ£ïŒäœè
å ±åã»2026-07-19ãWin2 net48 ãã«ã 0 errorïŒ | ãWSClient_sample ã®æŽŸç Win/WPF/Win2/WinCone ã¯å
šãŠ3å±€WSã¯ã©ã€ã¢ã³ãïŒ5ãããžã§ã¯ãå¿
é ïŒããšããåæã誀ãããã©ãŒç¢ºèªã§ variant 4çš®ã®ãã¡ Win/WPF/WinCone 㯠WS äŸåããïŒWSServer/WSIFType ã ProjectReferenceã»WS å䜿çšã»_all.sln ããïŒïŒWin2 ã®ã¿ WS äŸåãªãïŒProjectReference 0ã»WS å 0ã»åäž .sln ã®ã¿ïŒïŒUserControl 芪åããã©ãŒã éæ»ãå€åãæž¡ãçã®åç¬ På±€ UI ã³ã³ãããŒã« ãã¢ãWin2 㯠WS ãã¹ãïŒServiceInterfaceïŒåŒã蟌ã¿äžèŠã»æºå梱ã®åäž sln ã§æç«ã»app.config ã«çµ¶å¯Ÿ resource ãã¹ç¡ãïŒâ¥âŠ å®è³ªãŒããããŒã«ã« Content XML=MSG/SPDefinition/SampleLogConf2CS ã¯åºåã³ããŒïŒããã ã Business.RichClient ã¯åç
§ããã®ã§ ⢠㮠RichClient 远å ãã«ã㯠Win2 ã«ãå¿
èŠïŒWS 軞㚠RichClient 軞ã¯å¥ïŒãâ selectionïŒç³»å衚㮠3å±€è¡ããWPF/WinCone 㯠WS äŸåããã»Win2 ã¯äŸå€ïŒWS éäŸåã®åç¬ På±€ UI ãã¢ãã«ã掟çåæãåæ§ã«æ¯æ£ïŒtok~3373ïŒãwebservices.mdïŒ3å±€CS ç¯ã®å¯Ÿè±¡ã <Win/WPF/WinCone> ã«çµããâ
WSClientWin2_sample ã¯äŸå€ïŒãã®ç¯ã®å¯Ÿè±¡å€ã泚èšã远å ããã©ãŒè£åãæžã¿ |
| WSClient ã®ãWin 宿ž¬ã variant å
šäœã«äžè¬åãããcsproj ãèŠãŠå€æããžå¯ããïŒåãããŒããã¡ã€ã«ç¢ºèªïŒäœè
ãã£ãŒããã㯠1ã5ã»2026-07-19ïŒ | åé
ã§ Win2 ãå奿¯æ£ããããæ ¹å ïŒãWin ã®æåã variant å
šäœã®æ±ºãæã¡ã«äžè¬åãããŸã æ®ããâ webservices.md ã® 3å±€CS ç¯ãå€å®ã²ãŒãæ¹åŒã«åæ§æïŒèŠåºããããŸã csproj ãèŠãŠã3å±€WSã¯ã©ã€ã¢ã³ããåç¬ På±€ããå€å®ãããã«å€ããååïŒWin/WPF/Win2/WinConeïŒã§æ±ºãæã¡ãã csproj ã® WSServer_sample/WSIFType_sample åç
§ã»WS å䜿çšã»_all.sln æç¡ã§åå²ïŒããâclientïŒserverïŒhost äžåŒïŒãªãâåäž sln ã§ DLL åç
§ã ã匵æ¿ãWin2 ã¯åŸè
ïŒãšæèšãå®ãã«ã㯠Win ã®ã¿ïŒWPFã»WinCone ã¯ãã©ãŒç¢ºèªæžã¿ã»æªãã«ãã®äœãæžãã远å ïŒç¹1ïŒãconfigã2ããŒã ããâãapp.config ã«çµ¶å¯Ÿãã¹ãåšãããŒã匵æ¿ïŒvariant ã§æç¡ã»æ°ãéãïŒãã«ç·©åïŒç¹3ïŒãselectionïŒWS/3å±€äŸåå
èš³ããWin/WPF/WinConeïŒWS å¿
é ïŒWSClient ã® variant ã¯äŸåæ§é ãç°ãªãïŒååã§æ±ºãã csproj ã§å€æãã«æ¯æ£ïŒç¹2ãtok3503ïŒãcore SKILL â£ïŒåãåºãåŸãcsproj ã® 1745ïŒãç¹5ïŒCLI net48/net10.0 衚èšïŒã¯æ¢ã«ä¿®æ£æžã¿ïŒè¡šæ¬äœã»â
泚èšãšããnet10.0 ã®ã¿ãïŒïŒåæ²ã¯è§£æ¶æžã¿ãæ ¹å ã®å
±éè§£ïŒãvariant 差㯠csproj ãèŠãŠå€æãïŒã©ã³ã¿ã€ã ã»WS äŸåã»config å軞ã§åååïŒ |<Compile>/<EmbeddedResource>/<None>/<Content> ã® Include ãå®ãã¡ã€ã«ãšçªãåããæ¬ èœç¢ºèªïŒãµãããªãŒéžæå±éã§ Properties\AssemblyInfo.cs çãåãããŒã宿ž¬ãç¹4ãtok
| WSClientWPF 远å ã§æ°èŠ Aãæº _all.sln ã¯3ãããžã§ã¯ãã/Bãplatform ã»ããã variant å·®ãã»è£ä»ã Cãconfig ããŒæ°ã® variant å·®ã/DãåãããŒãåçŸã/Eãvariant éå質ãïŒäœè
å ±åã»2026-07-19ãWPF 5ãããžã§ã¯ã 0 errorïŒ | WPF 㯠Win ãšåã5ãããžã§ã¯ã WS æ§æïŒWSServer/WSIFType åç
§ã»AsyncFuncã»TMProtocol XML ããïŒïŒå€å®ã²ãŒããæ£ããã該åœåŽãã«åå²ããå®èšŒãæ°èŠåæ ïŒA/BïŒslnïŒïŒãã©ãŒç¢ºèªã§æºã® _all.sln ã¯å
š variant 3ãããžã§ã¯ãã®ã¿ïŒclientïŒ2ãã¹ããWSServer/WSIFType ç¡ãã»client 㯠DLL åç
§ïŒïŒSolutionConfigurationPlatforms ã variant ã§éãïŒWin/WinCone=8çš®ã.NET/AnyCPU/Mixed/x86ãã»WPF=4çš®ãAnyCPU/x86ãïŒãâ webservices.md ã® sln æé ããåã5ãããžã§ã¯ã _all.sln ãé圢ã«ã³ããŒã client è¡ãååã»ãã¹ã»GUIDãã ãå·®ãæ¿ããå
±æ4ãããžã§ã¯ãã¯æµçšãé圢ãç¡ãååã ãæº3ãããžã§ã¯ã sln ã« WSServer/WSIFType 远å ïŒclient ã ProjectReference åãã«å€æŽïŒplatform æç·šéãåé¿ïŒåçŸæ§ïŒã**CïŒconfigïŒ**ïŒå®æž¬ã Win=2/WPF=1ãSqlTextFilePath ã®ã¿ã/Win2=0 ãšãã©ã€ãïŒã絶察ãã¹ãåšãããŒã ã匵æ¿ãã®è£ä»ã匷åâconfig ç¯ã« 0/1/2 ãš WPF=1 ãæèšã**DïŒåãããŒãïŒ**ïŒProperties\AssemblyInfo.cs æŒãã Win2ã»WPF é£ç¶åçŸââ£ ã®æ¬ èœç¢ºèªã«ã2ãµã³ãã«ã§åçŸã远èšã**EïŒvariant éå質ïŒ**ïŒWin/WPF=5ãããžã§ã¯ãåŽã»Win2=åç¬ På±€åŽïŒå€å®ã²ãŒãæ¹éãå確èªãå®ãã«ãæžã¿ã WinâWin/WPF ã«æŽæ°ïŒWinCone ã®ã¿æªæ€èšŒïŒãcore tok~1776ããã©ãŒè£åãæžã¿ |
| WSClientWinCone å®äºïŒWS ç³»4 variant å
šå®æž¬ïŒClickOnceã»ç¬¬3äŸå圢ã»config 4/4 確å®ãäœè
å ±åã»2026-07-19ã5proj 0 errorïŒ | 4 variant ãã¹ãŠå®ãã«ãå°éãæ°èŠåæ ïŒClickOnceïŒæ°èŠã»éèŠïŒïŒWinCone 㯠SignManifests=trueïŒthumbprintïŒ.pfxïŒGenerateManifests=trueïŒ"Cone"ïŒã§çŽ ã® /t:Build ã MSB3482ïŒNo certificates foundïŒã§çœ²å倱æãâ webservices.md ã«ãâ
ClickOnce variantïŒWinConeïŒïŒSignManifests=false ã§åé¿ïŒå°éç¹ã¯ãã«ã/ãªãŒãã³ãŸã§ïŒpublish ç®çå€ã»repo å
csproj 倿Žã®ã¿ïŒSETUP-CHANGES äžèŠïŒã.pfx/Properties\app.manifest ãåãåºããã远å ã第3äŸå圢ïŒWinCone 㯠client ã WSIFType ã®ã¿åç
§ïŒWSServer 㯠client éåç
§ã»PackageReference ç¡ãïŒïŒäŸå圢ã¯3çš®ïŒWin/WPF=äž¡åç
§ã»Win2=ç¡ã»WinCone=WSIFType ã®ã¿ïŒâ â æé ããclient ãåç
§ãã WS ãããžã§ã¯ã㯠variant ã«ãããã«ãå€å®ç¯ã« 4 variant 宿ž¬è¡šïŒclient ã® WS åç
§ïŒconfig ããŒæ°ïŒæ§æïŒç¹èšïŒãæ°èšãconfig 4/4 確å®ïŒWin=2ã»WPF=1ã»WinCone=1ã»Win2=0ïŒã2ããŒæ±ºãæã¡ã¯èª€ãã»app.config ã«åšããã®ã ã匵æ¿ãã4/4 ã§ç¢ºå®ïŒâ¢config ã4 variant å®å
šããŒã¿ã«ïŒãâ£ã®çªãåããããæ¯åå¿
é ãã«æ ŒäžãïŒåãããŒãã¯é決å®çïŒWin2/WPF ã§æŒãã»WinCone ã§æŒããïŒïŒæŒããæã ã察åŠã§ã¯äžå¯ïŒcore tok~1823ïŒãå®ãã«ãæžã¿ïŒWin/WPF/WinConeïŒïŒWin2 åç¬ïŒïŒ4 variant å®äºããã©ãŒè£åãæžã¿ïŒWinCone csproj ClickOnceã»WSIFType ã®ã¿ã».pfx/app.manifestã»app.config SpRp 1ä»¶ïŒ || åãåºããã©ã«ãåœåãæ±ºãæã¡èŠåã«åºå®ïŒãšãŒãžã§ã³ãã«å€æãããªãïŒäœè
ã®çŸè¡æ§ææç€ºã»2026-07-19ïŒ | å®ç°å¢ã®çŸè¡æ§æïŒ2CSClientWin_sampleïŒ_CoreãMVC_SampleïŒ_CoreãSimpleBatch/RerunnableÃ3ïŒå_CoreãWebForms_Sampleãnet48 ã®ã¿ç¡å°ããSimple_CLIã.NET10 ã®ã¿ç¡å°ããWS_sample éå±€ç¶æïŒããåœåèŠåãæœåºãåŸæ¥ã®ãã¡ãµãŒãèšè¿°ã¯ãå¥åïŒMVC_Sample_Core çïŒãæ¢ãŸãïŒåœåããšãŒãžã§ã³ãä»»ãã ã£ããâ opentouryo-project-setup ã®åªçæ§ç¯ã4èŠåã«åºå®ïŒâ net48 ã¯å
åã®ãŸãŸ â¡core ã¯è¡çªãã net48 ãåšããšãã ã _Core æ¥å°ŸèŸïŒMVC_Sample_Core çïŒ â¢net48 ã®ã¿ïŒWebForms_SampleïŒã».NET10 ã®ã¿ïŒSimple_CLIïŒã¯ç¡å° â£WS 系㯠WS_sample\ éå±€ç¶æïŒãã©ããåããªãâwebservices.mdïŒãçŸè¡æ§æã®å
šãšã³ããªãšäžèŽã確èªãfacade tok~2650ïŒfrontmatter é€ãã»ç®å®å
ïŒ |
| åœåèŠåã® _Core å€å®ããå®è¡çªãâãnet48 çã®ååšïŒåºå®å±æ§ïŒãã«æç¢ºåïŒäœè
質åã»2026-07-19ïŒ | ãnet48 ãšè¡çªãããšãã ã _Coreãã (a) repo å
ã§å®éã«ä»ã¶ã€ããæ ã (b) ãã®ãµã³ãã«ã« net48 çãååšããæ ãææ§ãšã®ææãâ (b) ã«ç¢ºå®ïŒ(a) ã¯é åºäŸåïŒcore ãå
ã«å
¥ãããšç¡å°ã§çœ®ãâåŸã§ net48 è¿œå æã«æ¢å core ãæ¹åãã倿ãçºçïŒæ¹éã倿ãããªããã«åããïŒãå€å®ææïŒãã®ãµã³ãã«ã net48ïŒSamples\ïŒã«ãåšããããšããéžææç¹ã§ç¢ºå®ããåºå®å±æ§ãcore 㯠net48 ã repo ã«å
¥ããåãã _Coreãé åºäžåã»åŸæ¹åãªãã.NET10 ã®ã¿ïŒSimple_CLIïŒnet48 çãªãïŒã¯ç¡å°ãfacade ã®è©²åœç®æããnet48 çãâååšããâãšãïŒäž¡ã©ã³ã¿ã€ã 察å¿ãµã³ãã«ïŒïŒrepo ã«ããŸå
¥ãããã¯ç¡é¢ä¿ããšæžãæã |
| 2CS æ©èœãã¢7æ¬ å®äºïŒæ°èŠèœãšã穎ãCustCtrl 㯠CustomControl.RichClientïŒWinForms çïŒãæšæºãã³ãã«æŒããïŒäœè
å ±åã»2026-07-20ã7æ¬ 0 errorïŒ | CustCtrl/GenDaoAndBatUpd/TimeStampïŒnet48ïŒ_CoreïŒïŒAsyncEventïŒnet48ã»WinForms/WPF ã®2 exeïŒãåãåºããæ°èŠïŒéèŠïŒïŒCustCtrl 㯠OpenTouryo.CustomControl.RichClientïŒWinForms çïŒãåç
§ããããæšæºãã³ã Build_net48\ ã«ã¯ WebForms ç OpenTouryo.CustomControl.dll ããç¡ãããšãããæŒããïŒBusiness.RichClientïŒH ãšååã®ç¬¬2ã® RichClient æ¬ èœïŒããã©ãŒç¢ºèªïŒFrameworks\Infrastructure\CustomControl\RichClient\CustomControl.RichClient_net48.csproj ã¯å®åšããç¿æ¥è𿣠2026-07-20ãåœåãã©ã® .sln ã«ãå«ãŸããªãïŒåäœãã«ãããšããã誀ãïŒãã©ãŒã« BusinessRichClient_net48.sln èªäœãç¡ã grep äžæç«ã誀æå®ïŒãäœè
ã®å®ã¯ããŒã³ç¢ºèªã§ã¯ CustomControl.RichClient_net48 㯠BusinessRichClient_net48.sln ã«å梱ïŒBusiness.RichClient ãšåã slnïŒã§ããã³ãã®ã³ããŒæé ïŒ4_Build_CopyAssemblies çžåœïŒãæŒãããŠããã ããâ æ£ãã察åŠïŒ**BusinessRichClient_*.sln 远å ãã«ãåŸã« sln ã®å
šåºåããã³ãããããç
§åã CustomControl.RichClient.dll(/.pdb/.xml) ãå
¥ãã**ïŒåäœ csproj ãã«ãã§ãå¯ïŒãnetcore ã¯å
ã
æãïŒnet48 ã®ã¿ã®æŒãïŒãâ build SKILL 㮠⢠RichClient ç¯ãèšæ£ïŒãRichClient 远å ãã«ãåŸã¯ sln çæç©ãç
§åãã®æ±çšæèšïŒtok4679ïŒãselection ã® RichClient 泚èšãåæšïŒtok3028ïŒãè£ä»ãïŒZIP ãµããã©ã«ãåãããŒãïŒDao/Business/Common/Properties æ¬ èœïŒã â£ã® Include ç
§åïŒæ¯åå¿
é ïŒã§æ€åºïŒåœè©²æé ãå床å¥åã⥠resource ç§»èšã¯äžèŠïŒãã¢ã¯åã蟌㿠or .\Dao ã§èªå·±å®çµïŒã絶察ãã¹ãåšãããŒã ã匵æ¿ãéã0ä»¶ïŒãAsyncEvent ã¯2 exe æ§æã§ HintPath 2éå±€ïŒ..\..\ïŒ |
| Login CLI 2æ¬ å®äºïŒã»ãã·ã§ã³æšªæãã£ãŒããã㯠AãBã6ç¹ãïŒäœè
å ±åã»2026-07-20ãDAG/LIR Login CLIã»net10.0ã»--help exit 0ïŒ | DAG_Login_CLI/LIR_Login_CLIïŒ.NET10ã»äºéãã¹ãç¶æïŒåãåºããåæ 6ç¹ïŒA-1ãCustomControl.RichClientãïŒåé
ã®èšæ£ïŒsln 忢±ã»ã³ããŒæŒãïŒã build/selection ã«åæ æžã¿ãA-2ã_Core å
åŽåãªããŒã ã®å®å®³ãïŒfacade ã® _Core èŠåãã.slnã»åç
§ã _Core åã«ãã§å
åŽ csproj/AssemblyName ãŸã§ãªããŒã ãšèª€èªå¯èœâããã©ã«ãåã ã _Coreãå
åŽ csproj/sln/AssemblyName ã¯ååç¶æãã«èšæ£ãå®å®³ïŒGenDaoAndBatUpd_sample 㯠SqlTextFilePath="GenDaoAndBatUpd_sample.Dao"ïŒåã蟌ã¿ãªãœãŒã¹åå空éïŒã¢ã»ã³ããªåäŸåããã©ãŒ net48/netcore äž¡æ¹ã§ç¢ºèªïŒïŒã¢ã»ã³ããªåãå€ãããš SQL 解決ãå®è¡æã«å£ããïŒfacade tok2780ïŒãA-3ãZIP åãããŒããïŒãéæ±ºå®çã衚çŸãèšæ£â1680ïŒãB-4ãéSDK csproj çŽãã«ããïŒ/*ïŒéååž°ïŒã¯ Dao\/Business\/Common\/Properties\ ãäžžããšèœãšã決å®çæåã/**ïŒååž°ïŒã䜿ãïŒInclude ç
§åã¯æ¯åå¿
é ã®ãŸãŸïŒcore tokmsbuild X.csproj /p:Platform="Any CPU" 㯠csproj æ¡ä»¶ã AnyCPUïŒç©ºçœãªãïŒã®ãã OutputPath æªå®çŸ©ã§å€±æâ.sln çµç± or /p:Platform=AnyCPUïŒreference-rewrite.md ã«è¿œèšïŒã**B-5ãCLI äŸåå·®ã**ïŒSimple_CLI 㯠OT äŸå0ïŒçŽãã³ãã¬ïŒã ã DAG/LIR_Login_CLI 㯠OT äŸåããïŒFramework/Public/Public.Securityã»net10.0ïŒïŒâ€ 匵æ¿èŠïŒselectionïŒïŒé察話ã¹ã¢ãŒã¯ã¯ --helpïŒRootCommand ã Prompt.Confirm ã§å¯Ÿè©±ãããã¯ã»login 㯠IdP MultiPurposeAuthSite:44300 åæïŒç¯å²å€ãrun-verifyïŒã**6ãsamples/*.md èµ·ããåè£ã**ïŒcustctrl/gendao-timestamp/login-cli ã¯æªäœæïŒå¿
èŠã«ãªãã°èµ·ããïŒããã©ãŒè£åãæžã¿ |
| WS ãã¹ã ServiceInterface ã®é
眮ã WS_sample\ServiceInterface\ ã«éçŽïŒäœè
æç€ºã»2026-07-20ïŒ | æº Frameworks\Infrastructure\ServiceInterface ããWS äžåŒïŒclient/WSIFType/WSServerïŒãšåã WS_sample\ é
äžïŒWS_sample\ServiceInterface\<host>\ïŒ ã«çœ®ãæ¹éãžã广ïŒFrameworks ããªãŒã®éšååã蟌ã¿ãæ¶ã WS é¢é£ã1ç®æã«éçŽãåç
§ãçãäžæ§ã«ãçžå¯Ÿãã¹åèšç®ïŒhost ã4â3éå±€ã«ïŒïŒhost ã® OpenTouryo.* DLLïŒ..\..\..\OpenTouryoAssemblies\Build_net48\ïŒ4â3ïŒãhostâWSServer/WSIFType ProjectReferenceïŒ..\..\WSServer_sample\...ïŒ4â2ïŒclient ãšåã ..\..\ïŒã_all.sln ã® clientâhost åç
§ïŒæº ..\..\..\..\Frameworks\...\ServiceInterface\ ã ..\..\ServiceInterface\<host>\<host>.csproj ã«åŒµæ¿ïŒäž¡è
WS_sample\ å
ã®å
åŒïŒup2ïŒãåæ ïŒwebservices.md §⢠èŠåºãã»åŒã蟌ã¿äœçœ®ã»_all.sln åç
§ã»OpenTouryo/ProjectReference 段æ°ãå€å®ç¯ã®â¢ãfacade ã® WS éçŽèŠåïŒçŠæ¢äŸå€æ³šèšãrun-verify ã® WS ãã¹ãèµ·åãã WS_sample\ServiceInterface ã«çµ±äžïŒfacade tok~2813ïŒãæ§ãSamples\ ãç³ããš ..\ 段æ°ãããããæ³šèšã¯æ°é
眮ã§äžèŠã«ãªãåé€ |
| ã¢ã»ãã repo å
ã® files/ïŒæ¬äœãœãŒã¹ãã©ãŒïŒãåé€ïŒè£åãã¯å®ã¯ããŒã³2ç®æãæ£ã«ïŒäœè
æç€ºã»2026-07-20ïŒ | ãfiles ãåé€ã以é㯠D:\git\local\OpenTouryoProject\OpenTouryoDocuments ãš C:\otr ãåç
§ããâ è£åãæ ¹æ ãå·®ãæ¿ãïŒC# å®ãœãŒã¹ïŒC:\otr\OpenTouryo-03-20\root\programs\CS\ïŒæ§ files/csharp/ 眮æãFrameworks\Infrastructure\{Framework,Business,Public,CustomControl,ServiceInterface}ã»Samples\{2CS_sample,Bat_sample,CLI_sample,WS_sample,WebApp_sample}ã»Samples4NetCore\{Backend,Frontend,Legacy}ã»*_Build_*.bat ãå®åšç¢ºèªïŒãããã¥ã¡ã³ãïŒD:\git\local\OpenTouryoProject\OpenTouryoDocuments\documents\ãå®ã¯ããŒã³ã¯æ§ãã©ãŒãã richïŒBuild_net48\/Build_netcore100\ åºåã BusinessRichClient_net48.sln çã® .sln ãçŸç©ã§ç¢ºèªã§ããïŒä»¥å A-1 ã§ããã©ãŒã« sln ãç¡ããäžç¢ºå®ãåºãåé¡ã¯è§£æ¶ïŒãåæ ïŒÂ§6.1 åç
§å
ãæ°2ã«ãŒãã®è¡šïŒäž»èŠåç
§å
ãã¹ã«æžæïŒfiles/csharp/* 衚èšã廿¢ïŒãmemory reference-csharp-source-mirror ãæŽæ°ã泚ïŒsrc/skills é
äžã¯å
ã
files/csharp ãçŽæ¥åç
§ããŠãããïŒgrep 0ä»¶ïŒã¹ãã«æ¬æã®ä¿®æ£ã¯äžèŠãèšå®/ãã°ã¹ãã«ã® C:\root\files\resource\⊠ã¯å®è¡æã€ã³ã¹ããŒã«ãã¹ã§ç¡é¢ä¿ïŒäžå€ãéå» Â§4.3/§4.5 ãã°äžã® files/csharp 衚èšã¯å±¥æŽãšããŠæ®ã |
| å
š24é
ç®ãã«ã©ã³ïŒ03-20ã»å®å
šæ°èŠãªãã»å
š 0 errorïŒã§å€æãã DL/ãšã³ã³ãŒãç³»ã®èœãšã穎ïŒäœè
ã¬ããŒã OTRVCAS\Reporting.mdã»2026-07-20ïŒ | å
šãµã³ãã«ïŒMVC/WebForms/2CSÃ4/ãããÃ8/CLIÃ3/WSClient 4 variantïŒMVCã»WebForms ã® WS äŸå net48 矀ïŒã宿©ã§ 0 error ãã«ãå®èµ°ãæ°èŠã«èžãã èœãšã穎2ä»¶ãã¹ãã«ãžåæ ïŒ#1ïŒéèŠïŒWebClient.DownloadFile() ã GitHub codeload ã« 404ïŒæ¢å® TLS ãå€ãïŒHEAD 㯠200 ã§çŽããããïŒãâ build SKILL §1ïŒexamples.md ã® DL 2ç®æã Invoke-WebRequestïŒ[Net.ServicePointManager]::SecurityProtocol=Tls12 ã«å€æŽã#2 .ps1 ã®æ¥æ¬èªã³ã¡ã³ãã powershell.exe(WinPS 5.1) ã§æ§æç Žå£ïŒBOM ç¡ãã Windows-1252 ã§èªã¿ãUTF-8 å
šè§ã³ã¡ã³ããçŽåŸã®æïŒ$ref='03-20'ïŒãå·»ã蟌ã¿ç¡å¹åâ$ref 空âarchive/.zip ååŸã§**ãDL 404ãã«åãã**ïŒåå ç¹å®å°é£ïŒãæ¢åã® .bat å
šè§ç Žææ³šèšã«äžŠã¶ .ps1 çæ³šèšã远å ïŒASCII åïŒBOM ä»ãä¿åïŒpwsh å®è¡ã®ãããããé圢㯠ASCII æžã¿ïŒã#6 è£åŒ·ïŒMSYS çµç± msbuild ã§ /nologoâC:/Program Files/Git/nologoã»/p:âMSB1008 ã®ã¹ã€ããå€æïŒæ¢åã® .bat/cmd //c 泚èšã msbuild ã¹ã€ããã«ãäžè¬åïŒãæ¢èšèŒã§å確èªãããåïŒè¿œå ç·šéäžèŠïŒïŒ#3 WSClient ã® Newtonsoft.Json ã Build ãã©ã«ãåç
§ïŒwebservices.md â€ã2çš®ãã«æ¢èŒïŒã#4 WinCone ClickOnce MSB3482âSignManifests=falseã#5 ASPNETWebService ã® packages.config 㯠project çŽäžåŸ©å
ïŒããããã¬ããŒããã¹ãã«èšèŒéããïŒãbuild SKILL tok~4935ïŒè¿œèšåŸãèŠç¹å§çž®ã§ç®å®å
ïŒãæ¬äœïŒOpenTouryoïŒã®äžå
·åã§ã¯ãªãé察話ã»ããã¢ããåºæã®èœãšã穎ïŒã¬ããŒãçµè«ãšäžèŽïŒ |
| å®ãªã OTRVCAS ã®ãã©ã«ãæ§æãã¹ãã«æå³ãšç
§åïŒWSClientWin2_sample ã®é
çœ®ãæªå®çŸ©ã§å€æãå
¥ã£ãŠããïŒäœè
äŸé Œã®æ§æç¢ºèªã»2026-07-20ïŒ | å
š24é
ç®ãã«ãæžã¿ãªãã®æ§æãå®ç©ç
§åã倧åã¯æå³ã©ããã確èªïŒåœåïŒnet48 ååïŒcore 㯠net48 çãåšãæã ã _CoreïŒWebForms=net48 ã®ã¿ç¡å°ïŒCLI=net10.0 ã®ã¿ç¡å°ïŒãA-2ïŒ_Core ã¯ãã©ã«ãåã ãã»å
åŽ csproj/sln ã¯ååïŒå®å
šæºæ ïŒMVC_Sample_Core\MVC_Sample\MVC_Sample.csprojã»2CSClientWPF_sample_Core\2CSClientWPF_sample.csproj çïŒãWS éçŽïŒWS_sample\{ServiceInterface\ASPNETWebService, WSClient_sample\{Win,WPF,WinCone}, WSIFType_sample, WSServer_sample}ã»éå±€ç¶æïŒãscripts\ã»tools\nuget.exeã»resource\{Log,Sql,Xml,X509,Test}ã»ãã³ã OpenTouryoAssemblies\{Build_net48, Build_netcore100\{net10.0,net10.0-windows7.0}}ã.gitignoreïŒTemp/ã»bin/ã»obj/ã»packages/ïŒãå¯äžã®ä¹é¢ïŒWSClientWin2_sample ããããçŽäžïŒä» variant 㯠WS_sample\WSClient_sample\ é
äžã»HintPath 3éå±€ã ã Win2 ã ã ..\ ã®1éå±€ïŒãåå ïŒã¹ãã«ã Win2 ã®é
眮ãæç€ºããããšãŒãžã§ã³ãããWS éäŸåã ããåç¬ïŒãããçŽäžããšå€æïŒïŒã倿ãããªããæ¹éã®ç©Žããã«ã㯠0 error ã§å
éšæŽåã¯åããŠããïŒãäœè
倿ïŒAskUserQuestionïŒïŒWin2 ã WS_sample\WSClient_sample\ é
äžã«çµ±äžã»äŸå€ãäœããªããâ webservices.mdïŒWin2 ã®ããªãâåç¬ På±€ãç¯ã«ãâ
é
眮ã¯äŸå€ã«ããªãïŒWS_sample\WSClient_sample\WSClientWin2_sample\ã»HintPath ã¯ä» variant ãšåã3éå±€ ..\..\..\ãWS éäŸåã¯åç
§ã®è©±ã§çœ®ãå Žæã¯äžåŸãã远èšãtok4537ïŒãfacadeïŒWS éçŽèŠåã«ãWin2 ã WS éäŸåã§ãé
眮㯠2871ïŒãçŸãªãã® top çŽäž Win2 ã¯ç§»å察象ïŒäœè
ã宿œïŒ |WSClient_sample\ é
äžïŒäŸå€ãäœããªããã远èšãtok
ãããã¯å®è£ ãèªãã§ãåãããªãã 倱ããšåååŸã§ããªãã
- .NET Core çã® WS ã¯ã©ã€ã¢ã³ãïŒ
Samples4NetCore\Legacy\WS_sample\WSClient_sample\ïŒã¯å®çšæ§ãç¡ã ïŒäœè æ å ± 2026-07-18ïŒãBinaryFormatterïŒãã€ããªã·ãªã¢ã©ã€ãºïŒã .NET Core ã§å»æ¢ãããããã å®è³ªã€ã³ããã»ã¹åŒã³åºãããåãããæ¬åœã® WS è¶ãã®3å±€éä¿¡ã«ãªããªããã³ãŒãïŒcsproj ãèŠãŠã ãåã WS ã¯ã©ã€ã¢ã³ã ãµã³ãã«ã®1ã€ãã«ããèŠããããã®éå®çšæ§ã¯å®è£ ããèªããªããâ 3å±€ãªãã ã¯ã©ã€ã¢ã³ããå®çšãããªã net48 åŽïŒSamples\WS_sample\WSClient_sample\ïŒã䜿ããproject-setupâ 衚㮠.NET10 è¡ã«ãå®çšæ§ãªã â»ããä»ããâ æ³šèšã«çç±ãæèšãopentouryo-transmissionã® ããªã¢ãŒãåŒã³åºã㯠net48 å°çšãç¯ã«ãããµã³ãã«/ã©ã³ã¿ã€ã éžæãžã®å«æïŒcore ç WSClient ã¯èµ·ç¹ãšã㊠å§ããªãã»å®çšã¯ net48ïŒã1段èœè¿œèšïŒtransmission 㯠core ã®ãªã¢ãŒãäžå¯ïŒBinarySerializeãããããæ¢åé²ïŒ - 芪ã¯ã©ã¹1ã»èŠªã¯ã©ã¹2 ã¯ããŠãŒã¶ããã°ã©ã éçºãããžã§ã¯ãã«ã¯ãã«ãåŸã®ãã€ããª
ïŒã¢ã»ã³ããªïŒã§æäŸãããã ãœãŒã¹ãç¡ãããä¿®æ£ã§ãããç¹å¥ã«åŒ·ãæç€ºãããå Žåãé€ã
ä¿®æ£å¯Ÿè±¡ã«ãªããªãã
â ããã¯èšèšãšå®è£
ã ããèŠãŠãåãããªãã 芪ã¯ã©ã¹2ïŒ
MyFcBaseLogic/MyBaseDao/MyBaseControllerïŒã¯ããã³ãã¬ãŒãããïŒãªãŒããŒã©ã€ãããŠïŒèªç±ã«å©çšã§ããããš ã³ã¡ã³ããããŠãããã«ã¹ã¿ãã€ãºå¯èœãªå±€ã«èŠãããå®éã«ã¹ã¿ãã€ãºå¯èœã ãã ãããè¡ãã®ã¯ããããæŽåããåŽã§ãã£ãŠããŠãŒã¶ããã°ã©ã éçºãããžã§ã¯ãã§ã¯ãªãã â åã¹ãã«ã«ã¯ã芪ã¯ã©ã¹2 ã«UOC_ABENDãå®è£ ãããçã®èšè¿°ããããããã¯æåãçè§£ãã ããã®ãã®ãççŸã«èŠãããããAGENTS.mdãšåã¹ãã«ã®ãå®è£ å Žæãç¯ã«æ³šèšãå ¥ããŠãã - 2å±€C/SïŒ
BaseLogic2CSïŒã¯ãã¢ããªããšã®ã°ããŒãã«ãª1ãã©ã³ã¶ã¯ã·ã§ã³ããšããèšèšã ã¢ããªã±ãŒã·ã§ã³ã Desktop äžã®ã€ã³ã¹ã¿ã³ã¹ãšããŠåäœãããããWeb ãã1ãªã¯ãšã¹ã = 1ãã©ã³ã¶ã¯ã·ã§ã³ããªã®ã«å¯Ÿãã2å±€C/S ã¯ã1ã¢ããªã±ãŒã·ã§ã³ ã€ã³ã¹ã¿ã³ã¹ = 1ãã©ã³ã¶ã¯ã·ã§ã³ãã1ããã»ã¹ = 1å©çšè ãªã®ã§åããå¿ èŠããªãã â ãã®1ç¹ãããå®è£ ã®ç¹åŸŽããã¹ãŠå°ãããïŒã³ãã¯ã·ã§ã³ãstaticãã³ããããæåã æ¥åäŸå€ã§èªåããŒã«ããã¯ããªãïŒãåå¥ã®ä»æ§ã«èŠãããã1ã€ã®èšèšå€æã®åž°çµã â åœåãè€æ°ã® Bå±€åŒã³åºãã1ãã©ã³ã¶ã¯ã·ã§ã³ã«ãŸãšããããããããšæšæž¬ããŠãããã å æãéã ã£ããããŸãšãããããã®ã§ã¯ãªããã¢ã㪠= 1ãã©ã³ã¶ã¯ã·ã§ã³ãªã®ã§ã ããããåããæŠå¿µãç¡ãããå®è£ ãèªãã ãã§ã¯åè ã«ããå°éã§ããªã - WPF 㯠På±€ãã¬ãŒã ã¯ãŒã¯ãæããªãã Bå±€ã»Då±€ã®ã¿ãå©çšããç»é¢ã¯çŽ ã® WPF ãšããŠå®è£
ããã
â
MyBaseControllerWinãFormãç¶æ¿ããŠããããæ§é çã«ã䜿ããããµã³ãã« ïŒ2CSClientWPF_sampleïŒãWindow1 : Windowã§ãUOC ãåºãŠããã®ã¯Business/LayerB.csã ããããã§ãäžåºŠèª€èªããïŒgrep "class \w* : MyBaseControllerWin"ã®4ä»¶ã ãWin ãš WPF ã®äž¡æ¹ããšèªãã ããå®éã¯2ã€ã®ãµã³ãã«ããªãŒ à WinForms ã®2ãã¡ã€ã«ïŒã På±€ã¹ãã«ã¯-mvc/-webforms/-winformsã®3ã€ã§ãWPF ã¯å¯Ÿè±¡å€ - åå空éãšäŸåé¢ä¿ïŒäœè
æäŸ â å®è£
ã§æ€èšŒïŒã ãã¬ãŒã ã¯ãŒã¯ã¯3ã€ã®ã¢ã»ã³ããªã«åãããïŒ
Touryo.Infrastructure.BusinessïŒèŠªã¯ã©ã¹2ã»çºãè ãéçºïŒâ.FrameworkïŒèŠªã¯ã©ã¹1ã» NuGetïŒâ.PublicïŒæ±çšåºç€éšåã»NuGetïŒãåç §ã¯äžæ¹åïŒå®è£ ã§ç¢ºèªïŒFrameworkã¯BusinessããPublicã¯äž¡æ¹ãusingããŠããªãïŒ0ä»¶ãéã¯å€æ°ïŒãéé£ã°ãïŒBusinessâPublicïŒã¯OKãéåãã¯åŸªç°åç §ãäœè æäŸããã¹ãã®Touryo.Infrastructure.Business.Frameworkçã¯è¡šèšã®ä¹±ãã§ãå®äœã¯.Framework/.PublicïŒgrep ã§ç¢ºèªïŒãAGENTS.mdã® ãã¯ã©ã¹ã®éå±€ãšä¿®æ£å¯åŠã衚ã«åå空éã»æäŸïŒNuGet/çºãè ïŒåãçµ±å - 察象ã©ã³ã¿ã€ã 㯠.NET Framework 4.8 ãš .NET 10.0ïŒ
Business_netcore100.csprojã§è£ä»ãæžã¿ïŒ - æ§æãã¡ã€ã«: XMLå®çŸ©ãã¡ã€ã«ã¯å
±éã
app.config㯠core ç³»ã§appsettings.jsonã«ãªã - éçã¯ãšãª=
.sqlãåçãã©ã¡ã¿ã©ã€ãºãã¯ãšãª=.xml BaseConsolidateDao: ããŒãã«åäœã®èªåçæDaoã®åŒã³åºããéçŽããã¬ã€ã€ã Bå±€ã«DBã¹ããŒããæèãããªãã®ãç®çããããžã§ã¯ãåºæºæ¬¡ç¬¬ã§å©çšã â ãªããžããªå šäœã«å©çšå®äŸãç¡ãããããç¡ããšæŽå²çæ®çœ®ãšèª€å€æããŠããIsolationLevelEnum.User:MyFcBaseLogicã§æ¢å®ã®åé¢ã¬ãã«ãžæ¯ãæ¿ããéã«äœ¿çšãDefaultTransactionïŒDBMSã®æ¢å®ïŒãšã¯ãèª°ã®æ¢å®ãããéã- èªèšŒã®äž»çŒã¯ãèªèšŒã»ãŠãŒã¶æ
å ±ãã©ãä¿æãããããWeb 㯠.NET ã®èªèšŒã»ãã·ã§ã³ç¶æã®
ä»çµã¿ãšçµã¿åãããŠäœ¿ãã
OAuth2/OIDC/SAML2 ã®ã¯ã©ã€ã¢ã³ãã»ãµãŒãå®è£
ã¯ããµããããã¯ãã®æ±çšèªèšŒãµã€ã
ïŒMultiPurposeAuthSiteïŒçšã«éçºããããã®ã§ãæšæºçãªèªèšŒææ®µã§ã¯ãªãã
â ãããèããŸã§ãèªèšŒããããã³ã«å®è£
ãšããŠæããŠå¥ã¹ãã«ïŒ
-oauth2-oidc/-saml2ïŒã äœãèšç»ã ã£ããèšç»ãåãäžãã - Git æäœã¯æåïŒæ€åã¯äººãè¡ãããïŒã
AGENTS.mdã®ããªã·ãŒç¯ã«èšè¿°æžã¿ã ããã¯ã«ãã匷å¶ã¯çŸæç¹ã§ã¯èŠéã
確蚌ãç¡ãããã¹ãã«ã«ã¯æžããŠããªãã ã¹ãã«ã«æšæž¬ãæžããšããšãŒãžã§ã³ãã仿§ãšã㊠æ±ã£ãŠããŸããããããã«èšé²ã ãæ®ãã
äžèšã®ã¢ã¯ã»ã¹ãã°ã®ä»¶ã¯ãäœè 確èªã§ãç§»æ€æŒãã®å¯èœæ§ãé«ããä»åŸä¿®æ£ãããããããªãã ãšã®åçãåŸãïŒ2026-07-17ïŒãâ ã¹ãã«ã«ã¯æžããªãæ¹éã§ç¢ºå®ã ä¿®æ£åŸ ã¡ã®æ¬äœèª²é¡ã§ããã ãCore ã¯ãã°ãç²ãããšæžããšãä¿®æ£åŸã«é³è åãããã€ãã°ã仿§ãšããŠæããããšã«ãªãã æ¬äœ Issue #509 ã起祚æžã¿ïŒ2026-07-17ïŒã
| ãã°åºåç¹ | |
|---|---|
net48ïŒMyBaseMVControllerïŒ |
7ã€ãOnActionExecuting(----->) / OnActionExecuted(<-----) / View(IView, object)(----->>) / View(string, string, object)(----->>) / OnResultExecuting(----->, Debug) / OnResultExecuted(<-----, Debug) / OnException(<-----, Error) |
CoreïŒMyBaseMVControllerCoreïŒ |
3ã€ãOnActionExecutionAsync ã®ååŸïŒ-----> / <-----ïŒãšãMyMVCCoreFilterAttribute.OnException |
Core ã§ã¯ View() / OnResultExecuting / OnResultExecuted ã®åºåç¹ãååšããªãã
å®å®³ã¯ãã¥ãŒã®ã¬ã³ããªã³ã°åºéãã¢ã¯ã»ã¹ãã°ã«åºãªãããšïŒæ§èœæž¬å®ã®ç²åºŠãç²ããªãïŒã
æšæž¬ïŒç§»æ€ã§èœã¡ãå¯èœæ§ãé«ãã æ ¹æ ã¯ä»¥äžã
- ã·ã°ããã£ã1察1ã§å¯Ÿå¿ããªãïŒããã¯äºå®ïŒã net48 ã override ããŠããã®ã¯
View(IView view, object model)ãšView(string viewName, string masterName, object model)ã ããã¯System.Web.Mvcã®ãæŒæãã§ãå šãŠã®View()åŒã³åºãããããžéãŸãã ASP.NET Core ã«ã¯masterNameãIViewãªãŒããŒããŒããç¡ãïŒãã¹ã¿ããŒãžã®æŠå¿µãç¡ãïŒã Core ã§åãããšããããªãæŒæãView(string viewName, object model)ã«å€ããã ç§»æ€ã§ã¯ãªãæžãçŽãã«ãªããâ 察å¿å ãç¡ãã¡ãœããã¯æ©æ¢°çãªç§»æ€ã§ã¯èœã¡ãã - 倿ãã圢跡ãç¡ãã åã Core çã§
OnActionExecuting/OnActionExecuted㯠ã³ã¡ã³ãã¢ãŠãã®ãã// OnActionExecutionAsyncã«ç§»è¡ãšçç±ãŸã§æèšãããŠããã äžæ¹View()/OnResultExecuting/OnResultExecutedã¯è·¡åœ¢ããªãã ãããã®ã€ãã³ãé ã³ã¡ã³ãã«ã¯-- View/- OnResultExecuting/- OnResultExecutedã åæãããŠããã®ã«ãå®è£ ã ããç¡ãã - éçºçµç·¯ããç©ã¿äžããvsãæ°èŠäœæãã net48 㯠2015ã2017 ã«12ä»¶ã®æŽæ°å±¥æŽãããã
OnResultExecuting/Executedã®æ§èœæž¬å®è¿œå ãView ã§ã® ViewName 衚瀺ããã°ãã©ãŒãããã® å šé¢èŠçŽããšæ®µéçã«ãã°åºåç¹ãå¢ããŠãããCore 㯠2018/04/19 ã«æ°èŠäœæããã ãã®ç©ã¿äžããåŒãç¶ãã§ããªãã
察æä»®èª¬ïŒåŒ±ãïŒïŒ ãCore 㯠IActionResultïŒJson / File / RedirectïŒãæ®éãªã®ã§ã
View() ã ãæŸã£ãŠãçæèœã¡ããçã¯éããããããªãå
š Result ãæŸãã OnResultExecuting ã
å®è£
ããã¯ããMyMVCCoreFilterAttribute 㯠ActionFilterAttribute ãç¶æ¿ããŠãã
å®è£
ã§ããç¶æ
ã«ãããªãããããŠããªããä»£æ¿ææ®µãå®è£
ããçè·¡ãç¡ãã
åé¡ãèã ããã®ãªããžããªã§åããããïŒïŒOpenTouryo å ±éã®äºå®ïŒãã®ã ãå°å ¥ãããžã§ã¯ãã«ããæ±ºããããªãïŒïŒãããžã§ã¯ãåºæã®å€ïŒãã®ãã§ãæ±ããæ£å察ã«ãªãã åŸè ã¯ç©ºæ¬ã®ãŸãŸé åžããã®ãæ£ããã
æ®ã£ãŠããªãã 以äžã¯ãã¹ãŠå®äºããã
-
AGENTS.mdã®ã¢ãŒããã¯ãã£ç¯ïŒåå±€ã®è²¬åã»åºåºã¯ã©ã¹ã»å±€éã®åŒã³åºãèŠçŽïŒã 5.2 ã«ãå°å ¥ãããžã§ã¯ããåããæ¬ããšããŠåé¡ããŠããã誀ãã ã£ãã å±€ã®è²¬åãåŒã³åºãçµè·¯ã OpenTouryo å ±éã®äºå®ã§ããããžã§ã¯ãããšã«å€ãããªã -
opentouryo-layer-bãš 2CS ç³»ïŒMyFcBaseLogic2CSïŒã®å·®ã®æŽçã æªç¢ºèªãšããŠãã3ç¹ã¯ããã¹ãŠãåããã ãšå®è£ ã§ç¢ºèªãã ïŒUOC ã®ã·ã°ãã㣠/this.ReturnValue/ èªåæ¯ãåããMyFcBaseLogic2CSãLatebind.InvokeMethod(this, "UOC_" + MethodName, ...)ãWasCalledFromDoBusinessLogicã«ããçŽåŒã³ã¬ãŒããåãïŒã ãããŠããã®çµè«ã¯æ¢ã«-winformsã«è¡šãšããŠæžãããŠããïŒãã® TODO èªäœãé³è åããŠããïŒã layer-b ã«ã¯å·®åã ããè¶³ããïŒéåæçãç¡ã / ããŒä»ã Dam ãç¡ãïŒã 詳现㯠4.3 ã®è¡šãåç § - éæšå¥šã¯ã©ã¹äžèЧã®ç¶²çŸ
ç¯å²ã äžèЧã¯èšèªéäŸåã§ãVB ãæ¡åãçŽãå¿
èŠã¯ç¡ããšå€æã
VB ã«ã¯ FrameworkïŒèŠªã¯ã©ã¹1ïŒãç¡ã CS ã®ã¢ã»ã³ããªãæµçšãã
ïŒ
VB/1_GetLibrariesFromCS.batïŒãVB ã® BusinessïŒèŠªã¯ã©ã¹2ïŒã¯ CS ã®ãã©ãŒã§ãMyBaseLogic/MyBaseLogic2CSã«åãã<Obsolete>ãä»ãïŒå®ç©ã§ç¢ºèªïŒãToolsé äžã«[Obsolete]ã¯ç¡ããæ ¹æ ã¯AGENTS.mdã®åœè©²ç¯ã® HTML ã³ã¡ã³ãã«èšé² - På±€ã®3åå²ïŒ
-mvc/-webforms/-winformsïŒãopentouryo-layer-pã¯åé€ãWPF 㯠På±€ãã¬ãŒã ã¯ãŒã¯ãæããªãããå¯Ÿè±¡å€ -
opentouryo-authã®ãPå±€ãã¬ãŒã ã¯ãŒã¯ããšã®å·®ç°ãç¯ã På±€ã¹ãã«ãžåé ã ç®å®è¶ éã¯è§£æ¶ïŒ5,800 â çŽ4,100ããŒã¯ã³ïŒ - ãªããã¯ã©ã€ã¢ã³ãïŒ
-winformsïŒã®èªèšŒã®æ±ããUserInfoHandleãã»ãã·ã§ã³ã䜿ããstaticãªMyBaseControllerWin.UserInfoã§ä¿æã .NET ã®èªèšŒæ©æ§ã䜿ããªã - 2CS ã§ãæ¥åäŸå€æã®ããŒã«ããã¯ãèªåã«ããªããèšèšæå³ïŒ4.4 åç §ïŒã ãã¢ã㪠= 1ãã©ã³ã¶ã¯ã·ã§ã³ããšããèšèšã®åž°çµã ã£ã
- ãªããã¯ã©ã€ã¢ã³ãã§æå¹ãªæ¥é èŸã®å
šäžèŠ§ãšæ¢å®å€ã
6çš®ã®ã¿ïŒ
btn/cbb/lbx/rbn/pbx/cbxïŒã-winformsã«èšè¿°æžã¿ - ãã°ã¢ãŠãæã®ãŠãŒã¶æ
å ±ã®ç Žæ£ã
DeleteUserInformation()ãLogoutãåŒã°ãªãã®ã¯ ãµã³ãã«ã®æŒãã§ã¯ãªãèšèšããã°ã€ã³ç»é¢ã«å ¥ãæç¹ã§FxSessionAbandon()ãåŒã³ã ã»ãã·ã§ã³ããšæ¶ãã-authã«èšè¿°æžã¿ - å€éš IdP 飿ºã
opentouryo-oauth2-clientãšããŠç¬ç«ããã -
opentouryo-config: XMLå®çŸ©ãã¡ã€ã«ã®äžèº«ã®æžãæ¹ãopentouryo-xml-definitionãšã㊠ç¬ç«ãããåŸãæ©èœåäœã®5ã¹ãã«ãžè§£äœïŒ2.5 åç §ïŒ
ãã®ãªããžããªåŽã§ã¯åããããªãã åããã®ã¯ã¢ã»ãããå°å ¥ããåŽã
ã¹ãã«å
ã® TODO ã¯å
šæ»
ããïŒ0ä»¶ïŒã ãã¹ãŠ opentouryo-project-policyïŒçºãè
ãžã®ç¢ºèªïŒ
ãžå¯ãããããæ®ãã®ã¯ AGENTS.md ã®æ¬ã ãã
åœåããã«4ä»¶ãã£ãããŸã3ä»¶ãåé€ãããã äœè ã®ææïŒ
opentouryo-auth:62ãopentouryo-logging:62ãopentouryo-message:102ã¯ å šãŠããŒã¹ã¯ã©ã¹ïŒäŸåã§äœ¿çšè åŽã®ã¹ãã«ã¯æèããªããŠè¯ã
| åé€ãã TODO | ãªãäžèŠã |
|---|---|
auth: MyUserInfo ã®è¿œå é
ç® |
é ç®ãè¶³ãã®ã¯èŠªã¯ã©ã¹2 ãæŽåããåŽã䜿çšè ã¯ãããã®ã䜿ãã ã |
logging: OPERATION ã®æžåŒ |
æšæºã決ãããšãããçºãè ããããããã¬ãŒã ã¯ãŒã¯ãåºåããªãã®ã§æ±ºãŸããç¡ãã®ãçã |
message: %1/%2 ã®çœ®æ |
眮æããã®ã¯èŠªã¯ã©ã¹2ã䜿çšè
㯠GetMessage / äŸå€ã¹ããŒãæžãã ã |
æèšïŒã芪ã¯ã©ã¹2 ã«äŸåããŠæ±ºãŸãããšãïŒã䜿çšè åŽã¹ãã«ã® TODOãã§ã¯ãªãã 芪ã¯ã©ã¹2 ã¯ãã€ããªã§æäŸããã䜿çšè ã¯ãã®æåã«åãããã ãã ã¢ã»ããã®èªè ã¯äœ¿çšè ã§ãã£ãŠçºãè ã§ã¯ãªãã®ã§ãçºãè ã®å€æäºé ãæ¬ãšããŠçœ®ããšã æ°žé ã«åãŸããªã TODO ã«ãªãã
åé€ããŠçµããã«ã¯ãããã確èªããããšããæç€ºã«çœ®ãæããã æ±ºããããã®ã§ã¯ãªããçŸç©ã«åãããããã
åœåã¯ãæ¢åã® MSGDefinition.xml ãšã¹ããŒç®æãèŠãŠç¢ºèªããããšæžããããããã¯èª€ãã
äœè
ãã瀺ãããç¢ºèªæ¹æ³ïŒ
ããŒã¹ã¯ã©ã¹ïŒãèªãããšãè¥ããã¯ãæäŸãããŠããã°ã³ãŒãããèªã¿åããã çºãè ã«ç¢ºèªãããã³ããã§æç€ºããã
ã€ãŸã â ãœãŒã¹ãåç
§ã§ãããªãèªã â â¡ èªããªããªãçºãè
ã«ç¢ºèªãã人ãããã³ããã§æç€ºããã
æ¢åã³ãŒãã§ã®äœ¿ããæ¹ã¯ææããã«éãããã䜿ãããŠããªããã¯ãã§ããªããã®æ ¹æ ã«ãªããªã
ïŒæ¢åãšã³ããªã« %1 ãç¡ãã ããããããªãïŒã
ããããŠã芪ã¯ã©ã¹1ã»2 ã¯å¿
ããã€ããªããšããèªèã誀ãã ã£ãã
ãæäŸãããŠããã°ã³ãŒãããèªã¿åããïŒãœãŒã¹ãæäŸãããããšãããã
ãã€ããªæäŸã¯ååã§ãã£ãŠçµ¶å¯Ÿã§ã¯ãªããAGENTS.md ã®ããœãŒã¹ãç¡ãããä¿®æ£ã§ããããšãã
æå®ãæ¹ããä¿®æ£äžå¯ã®æ ¹æ ããæŽåããã®ã¯çºãè
ã ããããšãã圹å²åæ
ã«å¯ãã
ïŒãœãŒã¹ãèªããŠãä¿®æ£ããŠããããšã«ã¯ãªããªãïŒã
ãã®ç¢ºèªæ¹æ³ã¯ message åºæã§ã¯ãªã芪ã¯ã©ã¹2 äŸåã®äºé
ãã¹ãŠã«å¹ãäžè¬åãªã®ã§ã
åœå AGENTS.md ã«çœ®ããããåŸã« opentouryo-project-policy ãšããŠç¬ç«ãããïŒäžèšïŒã
ãããžã§ã¯ãæ¹éã確èªãããšããã¹ãã«ãäœæããã®ã¯ã©ãã§ããããïŒ ãâŠFrameworks/Infrastructure/Businessãã®ãããªãã®ãæäŸãããã°ã³ãŒããã確èªã§ãã æäŸãããªããã°ãŸãšãè åãã®Q&Aã«ããã
äžèšã®ã確èªãããã«ã¯ç©Žããã£ãã AGENTS.md ã«ãèªããªããã°çºãè
ã«ç¢ºèªããããšã¯
æžããããäœãã»ã©ããèŠãŠã»èŠãããªããã°èª°ã«äœãèãã®ããã©ãã«ãç¡ããå®è³ª
ãè©°ãŸã£ãã人ã«èããã§çµãã£ãŠãããã¹ãã«åããŠæé ãäžããã
å 容ïŒâ 芪ã¯ã©ã¹2 ã®ãœãŒã¹ãæ¢ãïŒãã¹ã§ã¯ãªããã¡ã€ã«åã§ãé 眮ã¯ãããžã§ã¯ãã«ããïŒ â ⡠確èªå°å³ïŒäºé â ãã¡ã€ã« â èŠã©ãããå šãŠå®è£ ã§è£åãæžã¿ïŒ â ⢠èªããªããã°çºãè ãžã®è³ªåãã³ãã¬ãŒãïŒæ¢å®å€ã瀺ããŠå·®åã ãèã圢ã«ããïŒã
AGENTS.md åŽã¯ã芪ã¯ã©ã¹2 ã®æåã¯ãããžã§ã¯ãããšã«éããæšæž¬ã§æžããªãã
ç¢ºèªæ¹æ³ã¯ opentouryo-project-policyããŸã§åããå
¥å£ã ããæ®ããã
opentouryo-logging:62ãopentouryo-logging:154ã®å¯Ÿå¿ã¯åãã§çºãè ã«èãããšã§ãã
logging ã®2ä»¶ïŒOPERATION ã®æžåŒ / ã€ãã³ããã°ã®äœ¿ãã©ããïŒãã
ãæ¥åã³ãŒããçŽæ¥åŒã¶ãã䜿çšè
åŽã®ããªã·ãŒããšå€æããã誀ãã ã£ãã
åŒã¶ã®ãæ¥åã³ãŒãã§ããæžåŒã䜿ãã©ãããšãããæ±ºãããšãã¯çºãè
ã®é åã
ã誰ãåŒã¶ããã§ã¯ãªããèª°ãæ±ºããããã§åããã ãããåãéããŠããã
ãã®2ä»¶ã§ opentouryo-project-policy ã«æ§é äžã®ç©ŽãèŠã€ãã£ããåœåã®å°å³ã¯
ã芪ã¯ã©ã¹2 ã®ã³ãŒãã§ç¢ºèªã§ããããã®ã ããåæã«ããŠãããããã®2ä»¶ã¯
ãã¬ãŒã ã¯ãŒã¯ãåºåãå®çŸ©ãããªãã®ã§ãèªã察象ãååšããªãã
ããã§ãããžã§ã¯ãäŸåã®äºé
ã2åé¡ããã
| åé¡ | ç¢ºèªæ¹æ³ |
|---|---|
| A. 芪ã¯ã©ã¹2 ã®å®è£ ãæ±ºãã | â ãœãŒã¹ãæ¢ã â â¡ å°å³ã§èªã â ç¡ãã㰠⢠èã |
B. éçšã«ãŒã«ïŒOPERATION ã®æžåŒãã€ãã³ããã°ã®äœ¿ãã©ããïŒ |
⢠ãžçŽè¡ïŒèªã察象ãç¡ãïŒ |
ãæ±ºãŸããç¡ããïŒãèªåã§æ±ºããŠãããã§ã¯ãªããã¢ã³ããã¿ãŒã³ã«æèšããã
OPERATION ã®æžåŒã«ã€ããŠåœåãæ±ºãŸããç¡ãããšèªäœãçãããšæžããŠãããã
ããã¯ãã¡ããç¥ããªãã ãã ã£ãã
src/instructions/AGENTS.md ã® TODOïŒ
- OpenTouryo æ¬äœã®ããŒãžã§ã³ãIDE
- ãã£ã¬ã¯ããªæ§æãåœåèŠçŽ
- å®è£ æã®å¿ é ã«ãŒã«ïŒ2ä»¶èšè¿°æžã¿ïŒèŠªã¯ã©ã¹1ã»2 ãä¿®æ£ããªã / æ¥åäŸå€ã¯ãªã¹ããŒãããªãïŒ
- ãã«ããšå®è¡ã®ã³ãã³ã
- ãããžã§ã¯ã ããªã·ãŒã®ãã®ä»ã®é ç®ïŒGit æäœã®1ä»¶ã¯æ¢å®ã§èšè¿°æžã¿ïŒ
-
opentouryo-oauth2-client: SAML2 ã¯ã©ã€ã¢ã³ãæ©èœïŒSAML2Client/SAML2BindingsïŒã äœè ãããçŸæç¹ã§ã¹ãã«åããå¿ èŠã¯ãªãããšæç€ºãããŠããã飿ºããæ¹éã«ãªã£ããå¥ã¹ãã«ãž -
opentouryo-oauth2-client: èªå¯ã³ãŒãã°ã©ã³ã以å€ã®ã°ã©ã³ã ïŒClientCredentialsGrantAsync/ PKCE / CIBA ã»ããååšã¯æ¬æã«åææžã¿ïŒ - Då±€èªåçæããŒã«ïŒå¢šå£ºïŒã® CLI ååŸ
ã¡ïŒäœè
ã CLI åãäºå®ã2.7 åç
§ã
æ¬äœ Issue #508 起祚æžã¿ã»2026-07-17ïŒã
CLI ãã§ããã
opentouryo-dao-generatedã«ãçæã®åŒã³åºãæ¹ãã远èšã§ããã çŸç¶ã¹ãã«ã¯ãçæç©ã®äœ¿ãæ¹ãã ããæ±ãïŒçæãã®ãã®ã¯ããŒã«åæïŒ
æšæž¬ã®ãŸãŸã¹ãã«ã«æžããªãäºé ã 確èªãåããããã¹ãã«ã«åæ ããã倿ããã
- Core MVC ã®ã¢ã¯ã»ã¹ãã°åºåç¹ã net48 ããå°ãªãã®ã¯æå³çããç§»æ€æŒããïŒ4.5 åç §ïŒã 解決ïŒ2026-07-17ïŒïŒäœè åçãç§»æ€æŒãã®å¯èœæ§ãé«ããä»åŸä¿®æ£ãããããããªããã â ã¹ãã«ã«ã¯æžããªãïŒæ¬äœã®ä¿®æ£åŸ ã¡èª²é¡ã仿§ã§ã¯ãªãïŒãæ¬äœ Issue #509 起祚æžã¿ããã®é ç®ã«æ®äœæ¥ã¯ç¡ã
2026-07-20ïŒã¢ã»ãã repo å
ã® files/ïŒæ¬äœãœãŒã¹ãã©ãŒïŒã¯åé€ã 以éã®è£åãã¯äžèšã®å®ã¯ããŒã³2ç®æãæ£ãšããïŒäœè
æç€ºïŒã
æ§ files/csharp/⊠ãã¹ã¯äžè¡šã®å®äœã«èªã¿æ¿ããã
| åç §ã«ãŒã | äžèº« | åè |
|---|---|---|
C:\otr\OpenTouryo-03-20\root\programs\CS\ |
OpenTouryo æ¬äœã® C# å®ãœãŒã¹ïŒã¿ã° 03-20 ã¯ããŒã³ïŒ | æ§ files/csharp/ ã®çœ®æãæ§ãã©ãŒãã richïŒBuild_net48\/Build_netcore100\ åºåã BusinessRichClient_net48.sln çã® .sln ãå®åš |
D:\git\local\OpenTouryoProject\OpenTouryoDocuments\documents\ |
ããã¥ã¡ã³ãïŒ0_Introduction/1_User_Guide/2_Tutorial/document_map.xlsxïŒ |
æ§ç㯠2016幎çã§å€ãïŒ4.1åç §ïŒ |
ã¢ã»ããã®èšè¿°ã¯äžèšå®ãœãŒã¹ãæ£ãšããã æšå®ã§æžããããŸã grep/ls ããŠå®ç©ã§ç¢ºèªããã
äž»èŠãªåç
§å
ïŒCS = C:\otr\OpenTouryo-03-20\root\programs\CSïŒïŒ
CS\Frameworks\Infrastructure\Framework\ ãã¬ãŒã ã¯ãŒã¯ïŒèŠªã¯ã©ã¹1ã»è§Šããªãå±€ïŒ
CS\Frameworks\Infrastructure\Business\ æ¥åãã¬ãŒã ã¯ãŒã¯ïŒèŠªã¯ã©ã¹2ã»çºãè
ãã«ã¹ã¿ãã€ãºïŒ
CS\Frameworks\Infrastructure\Public\ åºç€éšåïŒDb / Log / Util / Str âŠïŒ
CS\Frameworks\Infrastructure\ServiceInterface\{ASPNETWebService,WCFService} 3å±€CS ã® WS ãã¹ãæº
CS\Samples4NetCore\Backend\MVC_Sample\ .NET 10.0 ç³»ã®å®äŸïŒæéèŠïŒ
CS\Samples\ net48 ç³»ã®å®äŸïŒ2CS_sample / Bat_sample / CLI_sample / WS_sample / WebApp_sampleïŒ
â» èšå®/ãã°ã¹ãã«äžã® C:\root\files\resource\⊠ã¯å®è¡æã€ã³ã¹ããŒã«ãã¹ã§ãœãŒã¹ãšã¯ç¡é¢ä¿ïŒä»åã®åé€ãšæ··åããªãïŒã
ãã®ç°å¢ã«ã¯ Word / LibreOffice / pandoc ãå
¥ã£ãŠããªãã .doc 㯠Word 97-2003 ã®
ãã€ããªåœ¢åŒãªã®ã§ããã®ãŸãŸã§ã¯èªããªãã
olefile ã䜿ããWordDocument ã¹ããªãŒã ã® FIB ãã CLXïŒããŒã¹ããŒãã«ïŒã蟿ã£ãŠ
ããã¹ããæœåºããã¹ã¯ãªããã§å¯Ÿå¿ããïŒæ¥æ¬èªã埩å
ã§ããïŒã
pip install olefile # éé¢ãã venv ãž
FIB ã® fcClx 㯠WordDocument ã¹ããªãŒã ã®çµ¶å¯Ÿãªãã»ãã 0x01A2ã
PARAM ã¯ããŒã¹åäœã§ UTF-16LE ã cp1252 ãåå²ããã
ã¹ãã«ã Agent Skills æšæºã«æºæ ããŠãããã¯ãname ãšèŠªãã£ã¬ã¯ããªåã®äžèŽã
name ã®æžåŒãdescription ã®é·ãã確èªãããå
¬åŒã®åç
§å®è£
ã§ãæ€èšŒã§ããã
skills-ref validate ./src/skills/opentouryo-layer-d
ã€ã³ã¹ããŒã©ã®åäœã¯ãã¹ã¯ã©ããé åã«å®éã«ã€ã³ã¹ããŒã«ããŠç¢ºèªãã
ïŒ3ãããã¯ããžã®é
眮ãåªçæ§ãæ¢åãã¡ã€ã«ä¿è·ã-Forceãäžæãªã¹ãã«åã®ãšã©ãŒïŒã
ãã®ãªããžããªåŽã®äœæ¥ã¯æ®ã£ãŠããªãã å
š34ã¹ãã«ãAGENTS.mdïŒã¢ãŒããã¯ãã£ç¯ãå«ãïŒã
ã€ã³ã¹ããŒã©ãŸã§æžãçµãããå©çšã¬ã€ãïŒdoc 0ã8ã»åçã¯ãšãªã»Då±€èªåçæã»èšå®äžèЧïŒã
äžéã確èªããæŽåæ§ã®è£æ£ãšæ°èŠã¹ãã«ïŒdialog / p-call-business / richclient-async /
common-parts / project-policy ã»ãïŒãžã®åæ ãæžãŸããã
æ®ã TODO ã¯å°å ¥ãããžã§ã¯ããäœè ã«ããæ±ºããããªãïŒ5.2 / 5.3 / 5.4ïŒã ç¹ã« 5.2 ã¯ç©ºæ¬ã®ãŸãŸé åžããã®ãæ£ããã®ã§ãåããããšããªãããšã
åéããå Žåãçæããåã«ïŒ
- 5.1 ã®ãå®äºæžã¿ããèªãã TODO ãé³è
åããŠããäºäŸãè€æ°ããã
2CS ã®å·®ïŒ5.1ïŒã¯
-winformsãš 4.3 ã«çããæžããŠããã®ã« TODO ãæ®ã£ãŠããã æžããæ¬äººãå¿ããã®ã§ããŸãçŸç©ãæ€çŽ¢ããŠãã調æ»ãå§ããããš opentouryo-auth㯠çŽ4,950ããŒã¯ã³ã§äžéã«æ¥ããŠããïŒ3 åç §ïŒã å çãå¿ èŠã«ãªã£ããåå²ãšã»ããã§èãã- ã©ã³ã¿ã€ã å·®ïŒnet48 / .NET 10.0ïŒã«æ³šæã Web Forms ãšãªã¢ãŒãåŒã³åºãïŒéä¿¡å¶åŸ¡
protocol="2"ïŒã»Zipper/BinarySerialize/Win32㯠net48 å°çšïŒ4.3 åç §ïŒ
äœè 確èªåŸ ã¡ã®äºé ïŒ5.4ïŒã¯è§£æ±ºæžã¿ãçŸæç¹ã§ä¿çäžã®ç¢ºèªäºé ã¯ç¡ãã