MS_MigrationToWindowsDesktopPacks - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- æ»ãïŒ.NET Coreãžã®ç§»è¡ïŒ
.NET Core 3.0ïŒ.NET Core ãåç
§ïŒããã
Windows Forms / WPF ã®ãµããŒãã远å ãããã
åºæ¬çã«ããŒãã£ã³ã°ç§»è¡ã«ãªããããïŒVS2019 ã§ã¯ãã¶ã€ã䜿çšäžå¯ïŒã
è£è¶³ïŒãã¶ã€ã㯠VS2019 ã®éäžã§äœ¿ããããã«ãªã£ãïŒ: æ¬ããŒãžå·çæç¹ã®
ãVS2019 ã§ã¯ãã¶ã€ã䜿çšäžå¯ãã¯åœæãšããŠæ£ãããããã®åŸè§£æ¶ããããããã¶ã€ã察å¿ã®çµç·¯ãâ ã».NET Core 3.0 ãªãªãŒã¹æïŒ2019幎9æïŒ â WPF / Windows Forms ãšã ããã¶ã€ããæªæäŸã â .NET Framework åŽã®ãããžã§ã¯ãã§ ãã¶ã€ã³ãããã¡ã€ã«ããªã³ã¯ãã ïŒæ¬ããŒãžã®æé ïŒãšããåé¿çãå¿ èŠã ã£ã ã»WPF ãã¶ã€ã â VS 2019 16.3 é ãããæ£åŒæäŸã ã»Windows Forms ãã¶ã€ã â ãã¬ãã¥ãŒãçµãŠ ãVS 2019 16.10ïŒ2021幎5æïŒã§æ£åŒæäŸãâ â åºé ããçç±ã¯ã ãã¶ã€ããã³ã³ãããŒã«ã ãå®éã«ã€ã³ã¹ã¿ã³ã¹åããŠè¡šç€ºãããä»çµã¿ã®ããã .NET Framework äžã® VS ãã .NET Core ã®ã³ã³ãããŒã«ã èªã¿èŸŒããããã»ã¹åé¢ã®ä»çµã¿ãã äœãçŽãå¿ èŠããã£ããã ã»çŸåšïŒVS 2022 / .NET 8, 9ïŒ â ãäž¡æ¹ãšãæ®éã«äœ¿ãããâ â ãä»ããç§»è¡ãããªããæ¬ããŒãžã® ããã¡ã€ã«ããªã³ã¯ãããæé ã¯äžèŠãã§ããã ãã ããå€§èŠæš¡ãããžã§ã¯ãã æ®µéçã«ç§»è¡ããéã®ææ³ãšããŠã¯ ä»ãæå¹ãªã®ã§ãèšé²ãšããŠäŸ¡å€ããã â
- ...ã®æºåïŒæ¢åïŒ
- ...ã®ç§»è¡æ§è©äŸ¡ïŒåŸè¿°ã®ãã¢ãã©ã€ã¶ãŒããåç §ïŒ
-
...ã®æºåïŒæ°èŠïŒ
- ...ã®çæ
- ...ã®èšå®
- ...ããã.NET Framework çãããžã§ã¯ãã®ãœãŒã¹ã»ãã¡ã€ã«ããªã³ã¯ããã
-
...ã®ã³ã³ãã€ã«ãéãã
- ...ãžãNuGet ããã±ãŒãžã远å
- ...ãžãå¿ èŠã«å¿ããŠåŸè¿°ã®äºææ©èœããã¯ã远å
- ...ãã®ä»ãéäºæã® API ãªã©ã®çœ®æãªã©ãè¡ãã
-
...ã®ãã«ããšå®è¡ãšãã¹ãã®å®æœ
- VS2019 ã§ã¯ã
- .NET Core ã®ãã¶ã€ãã¯æäŸãããªãã
- .NET Framework ã®ãã¶ã€ãã䜿çšããã
.NETã®ã¯ãã¹ãã©ãããã©ãŒã å¯Ÿå¿ ã®è©²åœç¯ãåç §ã
è£è¶³ïŒçŸåšã®ç§»è¡æ¯æŽããŒã«ïŒ: ãã¢ãã©ã€ã¶ãŒããšããŠæ¬ããŒãžãæãã®ã¯
.NET Portability Analyzer ãšæããããçŸåšã¯åŸç¶ãããããç§»è¡æ¯æŽããŒã«ã®å€é·ãâ ã»ã.NET Portability AnalyzerãïŒæ§ïŒ â API ã®ç§»æ€å¯èœæ§ãã¬ããŒã â çŸåšã¯ãéæšå¥šãããªããžããªã¯ã¢ãŒã«ã€ã ã»ã.NET Upgrade Assistantãâ ïŒçŸè¡ïŒ â CLI / Visual Studio æ¡åŒµã®äž¡æ¹ â ãããžã§ã¯ã圢åŒã®å€æïŒSDK ã¹ã¿ã€ã«åïŒã TargetFramework ã®å€æŽã NuGet åç §ã®ä»ãæ¿ããŸã§ãèªåã§ããã dotnet tool install -g upgrade-assistant upgrade-assistant upgrade <path> ã»ã.NET API ã¢ãã©ã€ã¶ãŒã â ã³ã³ãã€ã«æã« éäºæ APIã»éæšå¥š API ãèŠåãã ïŒMicrosoft.DotNet.ApiCompat çïŒ ã»ãtry-convertã â æ§åœ¢åŒ .csproj â SDK ã¹ã¿ã€ã«ãžã®å€æ â Upgrade Assistant ãå éšã§äœ¿ã â ããŸã Upgrade Assistant ãæãããã®ã çŸåšã®å®ç³ãæ¬ããŒãžã®æäœæ¥ã®å€§åãèªååããã â
- Windows å°çš API ããã©ãããã©ãŒã éäŸå API ãªã©ãçŽ 20,000 ã® API ãæäŸ
- NuGet ããã±ãŒãž
Microsoft.Windows.Compatibilityçµç±ã§æäŸãããã - .NET Core ãŸã㯠.NET Standard ã察象ãšãããããžã§ã¯ãããåç §ã§ããã
| # | åé¡ | æäŸãããé å |
|---|---|---|
| 1 | .NET Framework | CodeDom |
| 2 | .NET Framework | System.Runtime.Caching |
| 3 | .NET Framework | Windows Workflow Foundation (WF) |
| 4 | .NET Framework | Windows Communication Foundation (WCF) |
| 5 | .NET Framework | Managed Extensibility Framework (MEF) |
| 6 | .NET Framework | äºææ§ïŒMicrosoft.Windows.Compatibility.ShimsïŒ |
| 7 | Windows | Codepage |
| 8 | Windows | GDI+ |
| 9 | Windows | ODBC |
| 10 | Windows | Registry |
| 11 | Windows | Service |
| 12 | Windows | æå·å |
| 13 | Windows | EventLog |
| 14 | Windows | ã¢ã¯ã»ã¹å¶åŸ¡ãªã¹ã (ACL) |
| 15 | Windows | ããã©ãŒãã³ã¹ ã«ãŠã³ã¿ãŒ |
| 16 | Windows | WMI (Windows Management Instrumentation) |
| 17 | Windows | Active Directory(X.500) |
ç§»è¡ã¡ã¢ïŒäœè£ïŒ: 2 éå±€ã®ç®æ¡æžããè¡šã«æŽçããã
è£è¶³ïŒäºææ©èœããã¯ã®æ³šæç¹ïŒ: 䟿å©ã ããå ¥ããã°æžããã®ã§ã¯ãªãã
ãâ åç §ããæç¹ã§ Windows äŸåã«ãªããâ Microsoft.Windows.Compatibility 㯠ãWindows å°çš API ãå«ãã â åç §ãããš ãã¯ãã¹ãã©ãããã©ãŒã åãã®ç®çããã¯é ããã â CA1416ïŒãã©ãããã©ãŒã äºææ§ã¢ãã©ã€ã¶ãŒïŒã èŠåãåºãããã«ãªã£ãïŒ.NET 5 以éïŒâ â ããŸãåãããããã®è¶³å Žãšå²ãåãã ãæ®µéçã«å€ããŠãããã®ãæ£ããäœ¿ãæ¹ ãâ¡ å ¥ã£ãŠããŠã "åããªã" ãã®ããããâ ã»ãWCF ã¯ãµãŒããŒåŽãå ¥ã£ãŠããªãã â ã¯ã©ã€ã¢ã³ãïŒSystem.ServiceModel.*ïŒã®ã¿ â ãµãŒããŒã¯ãCoreWCFãïŒã³ãã¥ããã£ç§»æ€ïŒã䜿ã ã»ãWF ãåæ§ã â CoreWF ã䜿ã ã»System.Drawing.CommonïŒGDI+ïŒã¯ â .NET 6 ã§ãWindows 以å€ããµããŒãå€ãã« â .NET 7 ã§ãé Windows ã¯äŸå€ãæãããâ â ã¯ãã¹ãã©ãããã©ãŒã ãªã ImageSharp / SkiaSharp ãžç§»è¡ãã ã⢠åå¥ããã±ãŒãžã§è¶³ããããšãå€ãã Microsoft.Windows.Compatibility 㯠ã巚倧ãªã¡ã¿ããã±ãŒãžã â Registry ã ãèŠããªã Microsoft.Win32.Registry ã ãå ¥ããæ¹ããã â
Openæ£æ¢Project ã§ã®äºäŸ
- Support to Windows Forms/WPF
by âWindows Desktop Packsâ on NET Core 3.0.
· Issue #328 · OpenTouryoProject/OpenTouryo
https://github.com/OpenTouryoProject/OpenTouryo/issues/328
æ°èŠäœæ â ãããžã§ã¯ãã§ååŸã§ããã
-
Windows Forms ã®å Žå
...ã®ãããžã§ã¯ãã»ãã¡ã€ã«ã®é圢
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationIcon />
<StartupObject />
</PropertyGroup>
</Project>-
WPF ã®å Žå
...ã®ãããžã§ã¯ãã»ãã¡ã€ã«ã®é圢
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
</Project>è£è¶³ïŒçŸåšã®æžãæ¹ïŒ
WindowsDesktopSDK ã¯äžèŠïŒ: .NET 5 以éã
ãããžã§ã¯ã ãã¡ã€ã«ã®æžãæ¹ãç°¡çŽ åãããã<!-- .NET 5 以éïŒçŸåšã®æžãæ¹ïŒâ --> <Project Sdk="Microsoft.NET.Sdk"> <!-- â éåžžã® SDK ã§ãã --> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net8.0-windows</TargetFramework> <!-- â --> <UseWindowsForms>true</UseWindowsForms> <Nullable>enable</Nullable> <ImplicitUsings>enable</ImplicitUsings> </PropertyGroup> </Project>ãå€ãã£ãç¹ãâ â SDK ã¯ãMicrosoft.NET.Sdkãã«çµ±äž â Microsoft.NET.Sdk.WindowsDesktop 㯠ãäºæã®ããæ®ã£ãŠãããã䜿ãå¿ èŠã¯ãªãã â¡ TargetFramework ã«ã-windowsããä»ãã â net8.0-windows â ããã« OS ããŒãžã§ã³ãæå®ã§ãã net8.0-windows10.0.19041.0 ïŒWinRT API ã䜿ãå Žåã«å¿ èŠïŒâ ⢠UseWindowsForms / UseWPF ã¯ããã®ãŸãŸã â äž¡æ¹ true ã«ããã°äœµçšãå¯èœ
-
äžèšã®ãããžã§ã¯ãã»ãã¡ã€ã«ã«ãã¡ã€ã«ããªã³ã¯ããã
-
.NET Framework ã®ãããžã§ã¯ãã»ãã¡ã€ã«ãšåããã©ã«ãéå±€ã«ã
.NET Core ã®ãããžã§ã¯ãã»ãã¡ã€ã«ãé 眮ããŠããŸã£ãŠãè¡ããã
è£è¶³ïŒãªããåãéå±€ã«çœ®ãã°è¡ãããã®ãïŒ: SDK ã¹ã¿ã€ã«ã®
ãããžã§ã¯ãã®æ¢å®ã®æåã«ããããSDK ã¹ã¿ã€ã« ãããžã§ã¯ãã®æ¢å®ãâ ã»ãããžã§ã¯ã ãã¡ã€ã«ã®ãããã©ã«ãé äžã® ã*.cs ãèªåçã«å šéšå«ããã ïŒæ§åœ¢åŒã¯ 1 ã€ã〠<Compile Include> ãå¿ èŠã ã£ãïŒ â ã ãããåãé局㫠.csproj ã眮ãã ããã§ ãœãŒã¹ãæŸããã â ãæç€ºçã«ãªã³ã¯ããå Žåã <ItemGroup> <Compile Include="..\OldProj\**\*.cs" Exclude="..\OldProj\obj\**;..\OldProj\bin\**" Link="%(RecursiveDir)%(Filename)%(Extension)" /> </ItemGroup> â» obj / bin ã®é€å€ãå¿ãããš ãèªåçæãã¡ã€ã«ãŸã§æŸã£ãŠå£ãããâ ãæ³šæã ã»åãéå±€ã«çœ®ããš ãobj / bin ãè¡çªããã â BaseIntermediateOutputPath / BaseOutputPath ã åããŠãããšå®å š â ã»äž¡æ¹ã®ãããžã§ã¯ããåæã«ãã«ããããš ãã¡ã€ã« ããã¯ãèµ·ããããšããã
以äžã®ãã€ã³ãã«æ³šæããªããããŒãã£ã³ã°ç§»è¡ãè¡ãã
-
AssemblyInfo.cs ã¯é€å€ïŒåé€ïŒããã
-
ãããžã§ã¯ãã»ãã¡ã€ã«ãä¿®æ£ããã
-
ã«ãŒãåå空é
-
ã¢ã»ã³ããªå
-
ãããžã§ã¯ãåºå
-
åç §èšå®ã NuGet åç §
-
ãã¡ã€ã«
- ãã«ã ã¢ã¯ã·ã§ã³ã®èšå®
- Resource ãã¡ã€ã«ã®åæ§æ
-
-
NuGet åšã
- åç §ã¢ã»ã³ããªïŒDLLïŒãåžããªããªã£ãã®ã§ãåå¥ã« NuGet åç §ã
- å¿ èŠã«å¿ããŠãNuGet ããã±ãŒãžã®äŸåé¢ä¿ã®èšå®ã驿£åããã
-
#IFçšã« NETCOREAPP ã远å- æ¢å®ã§ãNETCOREAPP_3_0 ãããã®ã§ãã¡ããå©çšããŠãã€ã€ã
- å¿
èŠã«å¿ããŠã
#IF-#ELSEã®æ¡ä»¶ä»ãã³ã³ãã€ã«ãã£ã¬ã¯ãã£ããå®è£ ããã
ç§»è¡ã¡ã¢ïŒæ£èª€ïŒ: ç§»è¡å ã§ã¯æ¡ä»¶ä»ãã³ã³ãã€ã« ã·ã³ãã«ã
ãNETCOREAPP_3_0ããšèšèŒãããŠãããã
æ£ããã¯NETCOREAPP3_0ïŒNETCOREAPPã®çŽåŸã«ã¢ã³ããŒã¹ã³ã¢ã¯å ¥ããªãïŒã§ããã
ãªã#IF㯠VB ã®èšæ³ã§ãC# ã§ã¯#ifã§ããã
è£è¶³ïŒ
AssemblyInfo.csãåé€ããçç±ãšãæ®ãããå ŽåïŒ:
åã«ãäžèŠã«ãªã£ããã®ã§ã¯ãªããè¡çªããããåé€ããã®ã§ããããSDK ã¹ã¿ã€ã«ã§ã¯å±æ§ãèªåçæããããâ obj\Debug\net8.0-windows\ XXX.AssemblyInfo.cs â ããã«ãæã«èªåçæãããã â AssemblyVersion / AssemblyTitle / AssemblyCompany ç â ææžãã® AssemblyInfo.cs ãæ®ããš ãCS0579 "éè€ãã屿§" ãšã©ãŒãã«ãªã â ãå€ã¯ãããžã§ã¯ã ãã¡ã€ã«ã§æå®ããã <PropertyGroup> <AssemblyVersion>1.0.0.0</AssemblyVersion> <FileVersion>1.0.0.0</FileVersion> <Version>1.0.0</Version> <Company>...</Company> <Product>...</Product> </PropertyGroup> ãã©ãããŠãææžããæ®ãããå Žåã <GenerateAssemblyInfo>false</GenerateAssemblyInfo> â èªåçæãæ¢ãã â InternalsVisibleTo ãªã© 屿§ã现ããå¶åŸ¡ãããå Žåã«äœ¿ã âãæ¡ä»¶ä»ãã³ã³ãã€ã« ã·ã³ãã«ã®æ¢å®å€ãâ net8.0-windows ãªãèªåçã«å®çŸ©ããã NET / NET8_0 / NET8_0_OR_GREATER NET5_0_OR_GREATER ⊠NET7_0_OR_GREATER NETCOREAPP / NETCOREAPP3_1_OR_GREATER WINDOWS / WINDOWS8_0_OR_GREATER ⊠â ã_OR_GREATER ç³»ã䜿ããã®ãå®ç³ â #if NET5_0_OR_GREATER // æ°ããå®è£ #else // .NET Framework åã #endif â ããŒãžã§ã³ãäžãããã³ã« æ¡ä»¶ãæžãæããªããŠæžã
- OutputType ã WinExe ãã Library ãžå€æŽããã
<OutputType>Library</OutputType>- Windows Forms / WPF ã®ãµããŒãã®äž¡æ¹ã«å¯Ÿå¿ããå Žåã以äžã䜵èš
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>- Sgen.exeïŒXmlSerializer å°çšã³ã³ãã€ã©ïŒã®åé¡ã§ã
GenerateSerializationAssemblies : Off ã远èšããã
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>è£è¶³ïŒ
Sgen.exeã®åé¡ãšã¯äœã ã£ããïŒ: ãã®å¯ŸåŠã®èæ¯ãè£ã£ãŠããããSgen.exeïŒXML ã·ãªã¢ã©ã€ã¶ãŒ ãžã§ãã¬ãŒã¿ãŒïŒãâ XmlSerializer ã¯æ¢å®ã§ ãå®è¡æã«åçã«ã¢ã»ã³ããªãçæããã â ååã®çæã³ã¹ãã倧ãã â ãããããã«ãæã«äºåçæãããã®ã Sgen.exe ïŒXXX.XmlSerializers.dll ãã§ããïŒ ã».NET Framework æä»£ã®ããŒã«ã§ããã ã.NET Core ã§ã¯åããªã / äžèŠãâ â OutputType ã Library ã ãš æ¢å®ã§èµ°ãããšããŠãšã©ãŒã«ãªãã±ãŒã¹ããã£ã â Off ã«ããŠåé¿ããïŒæ¬ããŒãžã®å¯ŸåŠïŒ ãçŸåšã ã».NET Core / .NET 5+ ã§ã¯ Microsoft.XmlSerializer.Generator ãšãã å¥ããŒã«ãçšæããããã ãå¿ èŠãªã±ãŒã¹ã¯éãããã ã»ãããã â æ°èŠãªããSystem.Text.Jsonãâ â XML ãå¿ é ãªã XmlSerializer ããã®ãŸãŸäœ¿ãã ã€ã³ã¹ã¿ã³ã¹ããéçã«ãã£ãã·ã¥ããã ïŒæ¯å new ãããšéœåºŠã¢ã»ã³ããªçæãèµ°ãïŒâ
èšå®ãã¡ã€ã«
- app.config ãé€å€ïŒåé€ïŒããappsettings.json ã远å ã
- Microsoft.Extensions.Configuration.XXX åšèŸºã®åç §ã远å
- åé ã§ãappsettings.json ã®åæåã³ãŒããå®è¡
è£è¶³ïŒ
app.configã¯ã䜿ããªãã¯ãªããïŒ: æ¬ããŒãžã®æé ã¯
æšå¥šãããç§»è¡å ã ããçµç·¯ãè£ã£ãŠããããapp.config ã®æ±ããâ ã».NET Core ã§ã ãSystem.Configuration.ConfigurationManagerãã NuGet ã§å ¥ããã° app.config ã¯èªãã â ãæ®µéç§»è¡ã®è¶³å ŽãšããŠã¯æå¹ã ã»ãã ã - configSections ã䜿ã£ãç¬èªã»ã¯ã·ã§ã³ã¯ åããªãããšããã - æå·åïŒaspnet_regiisïŒã¯äœ¿ããªã - ConnectionStrings 以å€ã¯ æ°ããä»çµã¿ãšäºé管çã«ãªã ãæšå¥šãããç§»è¡å ã appsettings.json + ãMicrosoft.Extensions.Configurationãâ var config = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) // â .AddJsonFile("appsettings.json", optional: false) .AddJsonFile($"appsettings.{env}.json", optional: true) .AddEnvironmentVariables() .AddUserSecrets<Program>() // éçºæã®ã¿ .Build(); â ç°å¢ããšã®äžæžããç°å¢å€æ°ã ã·ãŒã¯ã¬ãã管çããéå±€çã«åæããããâãSetBasePath ã« AppContext.BaseDirectory ã䜿ãçç±ãâ åŸè¿°ã®ãå®è¡ãã¡ã€ã«ã®ãã¹ã«æ³šæãïŒãã°ããæ°ã®èšäºïŒãš åã話ã ã»Directory.GetCurrentDirectory() 㯠ãã«ã¬ã³ã ãã£ã¬ã¯ããªãã§ããã exe ã®å Žæãšã¯éããªã ïŒã·ã§ãŒãã«ããèµ·åãã¿ã¹ã¯ ã¹ã±ãžã¥ãŒã©èµ·åã§å€ããïŒ ã»Assembly.Location 㯠ãåäžãã¡ã€ã«çºè¡ã ãšç©ºæåãã«ãªã â â ãAppContext.BaseDirectoryããæãå®å š
-
.NET Core ã§ã®ãµããŒãã¯äºå®ãããŠããªãæš¡æ§ã
-
â .NET 5 ã§ãµããŒããããæš¡æ§ã
-
åè
- Will ClickOnce be ported to .NET Core 3 as well as WinForms - Stack Overflow
https://stackoverflow.com/questions/56390876/will-clickonce-be-ported-to-net-core-3-as-well-as-winforms - ãClickOnceãã€ã³ã¹ããŒã«ãã.NET Coreãã«å¯Ÿå¿ ïœã.NET 5.0ããªãªãŒã¹åè£2ç - çªã®æ
https://forest.watch.impress.co.jp/docs/news/1283252.html
- Will ClickOnce be ported to .NET Core 3 as well as WinForms - Stack Overflow
è£è¶³ïŒClickOnce 㯠.NET 5 以éã§æ£åŒã«ãµããŒããããïŒ: æ¬ããŒãžã®
ãâ .NET 5 ã§ãµããŒããããæš¡æ§ãã¯ãã®ãšããã«ãªã£ãããçŸåšã®ç¶æ³ãâ ã»ã.NET 5 以éã® Windows ãã¹ã¯ããã ã¢ããªã§ ClickOnce çºè¡ãå¯èœã ã»Visual Studio ã® [çºè¡] ãŠã£ã¶ãŒãããéžã¹ã ã»CLI ãããå¯èœ dotnet publish -p:PublishProfile=ClickOnceProfile ãå¶çŽã ã»ãWindows å°çšãïŒåœç¶ïŒ ã»self-contained çºè¡ãšã®çµã¿åããã«å¶éããã ã»åäžãã¡ã€ã«çºè¡ãšã¯äœµçšãã«ãã ãé åžæ¹åŒã®éžæè¢ïŒçŸåšïŒãâ ã»ãClickOnceã ⊠èªåæŽæ°ãèŠã瀟å ã¢ããªãå®çžŸè±å¯ ã»ãMSIXãâ ⊠Microsoft ã®æšå¥šã ã¯ãªãŒã³ãªã€ã³ã¹ããŒã«ïŒã¢ã³ã€ã³ã¹ããŒã«ã Store é åžãå¢åæŽæ° â ãã ãã眲åèšŒææžãå¿ é ã㧠瀟å é åžã®ããŒãã«ãé«ã ã»ãèªå·±å®çµåçºè¡ + zip é åžã ⊠.NET ã©ã³ã¿ã€ã ã忢±ããã®ã§ ãå ¥ã£ãŠããªããåé¡ãèµ·ããªã â â æŽæ°ã¯èªå or Squirrel / Velopack ã»MSIïŒWiX çïŒ âŠ åŸæ¥åãGPO é åžãšçžæ§ããã
çŸç¶ã§ã¯ãVB çãã³ãã¬ãŒãïŒdotnetã³ãã³ã ãåç §ïŒãååšããªãã
è£è¶³ïŒVB ã®ãã³ãã¬ãŒãã¯æäŸãããïŒ: ããããã®åŸè§£æ¶ãããã
ãçŸåšãâ dotnet new winforms -lang VB dotnet new wpf -lang VB â ãVB ã§ã Windows Forms / WPF ã® .NET ãããžã§ã¯ããäœããã ãVB ã®çŸåšã®ç«ã¡äœçœ®ã ã»2020幎ãMicrosoft 㯠ãVB ã«ãæ°ããèšèªæ©èœã¯è¿œå ããªããããšè¡šæ â â ãã ãããµããŒãã¯ç¶ç¶ããã â .NET 8 / 9 ã§ã VB ã® Windows Forms ã¯åã ã»å¯Ÿè±¡ã¯ãŒã¯ããŒã â Windows Forms / WPF / ã³ã³ãœãŒã« / ã¯ã©ã¹ ã©ã€ãã©ãªã¯ã察å¿ã â ASP.NET Core ã¯ãé察å¿ãâ â æ¢å VB è³ç£ã®ç¶æã«ã¯ååã ãã æ°èŠã¯ C# ãéžã¶ã®ãé åœ
-
MicrosoftãWPFãWinFormsãWinUIããªãŒãã³ãœãŒã¹å
https://www.infoq.com/jp/news/2018/12/msft-open-source-wpf-winforms -
.NET Core 3 ã§ Windows ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ããµããŒãããã¿ãã
(.NET Core 3 and Support for Windows Desktop Applications) - ããããåå¿é²æ¥èš
https://devlights.hatenablog.com/entry/2018/05/08/120953 -
Windows Compatibility Pack for .NET CoreïŒDev BasicsïŒKeyword - ïŒ IT
https://www.atmarkit.co.jp/ait/articles/1711/21/news024.html
- .NET Core 3 and Support for Windows Desktop Applications
https://devblogs.microsoft.com/dotnet/net-core-3-and-support-for-windows-desktop-applications/ - Announcing .NET Core 3 Preview 1 and Open Sourcing Windows Desktop Frameworks
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-preview-1-and-open-sourcing-windows-desktop-frameworks/
-
WPF on .NET Coreããã£ãŠã¿ãïŒãã¬ãã¥ãŒçïŒ - Qiita
https://qiita.com/soi/items/e1cf2abf9845164bf439 -
.NET Core 3.0 ã§ã®ãã¹ã¯ãããéçº - ãããã®Blog@hatena
https://blog.okazuki.jp/entry/2018/12/05/160649 -
.NET Core3.0ã§Windows Forms/WPFã
ãµããŒããããã®ã§æ©é詊ããŠã¿ã - ããSEã®ã€ã¶ããã»æ¹
https://www.aruse.net/entry/2018/12/05/100935 -
Visual Studio 2019ã§å§ãããWPF on .NET Core 3.0ãéçº
ãšããã¿ã€ãã«ã§ç»å£ããŠããŸãã - nuits.jp blog
http://www.nuits.jp/entry/wpf-on-dot-net-core-3_0
-
æ¢åã® WPF ã¢ããªã±ãŒã·ã§ã³ã .NET Core 3.0 ã«ç§»è¡ãã
https://blog.shibayan.jp/entry/20190302/1551518606 -
.NET Core 3.0 Preview 7 ã§ Go Live ãä»ããã®ã§
WPF ã¢ããªã±ãŒã·ã§ã³ãæŽã«å¯Ÿå¿ããã
https://blog.shibayan.jp/entry/20190725/1564045069 -
.NET Core 3.0 ã§ WinForms / WPFã
䜿ãå Žåã¯å®è¡ãã¡ã€ã«ã®ãã¹ã«æ³šæ
https://blog.shibayan.jp/entry/20190909/1568007641
- .NET Core 3.0 ã§ãã¹ã¯ãããã¢ããªãäœã (ç®æ¬¡)
https://rksoftware.hatenablog.com/entry/2019/01/10/203234-
.NET Core 3.0 ã§ãã¹ã¯ãããã¢ããªãäœãïŒVS ãã¬ãã¥ãŒçã䜿ããªãïŒ
-
.NET Core 3.0 ãããžã§ã¯ãã®çºè¡ã§ãšã©ãŒã«ãªã
-
.NET Core 3.0 ãã¹ã¯ãããã¢ããªãããžã§ã¯ãã
- Visual Studio 2019 ã§éããªã
- ãã«ãã§ããªã
-
ãã¶ã€ãããªããŠãåé¡ãªã
- .NET Core 3.0 ã§ Windows ãã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãäœã
- Windows ãã©ãŒã ææžãæã®æ³šæ AutoScaleDimensions èšå®
-
垳祚åºå
- .NET Core ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãã DioDocs ã䜿ã£ãŠåž³ç¥šã PDF åºåãã
- .NET Core ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã§ PDF 垳祚ãç»é¢è¡šç€ºãã
- .NET Core ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã§ DioDocs ã§äœã£ã PDF 垳祚ãå°å·ãã
-
- Windows Forms ã¢ããªã .NET Core 3.0 ã«ç§»æ€ãã
https://learn.microsoft.com/ja-jp/dotnet/core/porting/winforms - WPF ã¢ããªã .NET Core 3.0 ã«ç§»æ€ãã
https://learn.microsoft.com/ja-jp/dotnet/core/porting/wpf
-
Windows äºææ©èœããã¯ã䜿çšããŠã³ãŒãã .NET Core ã«ç§»æ€ãã - .NET Core
https://learn.microsoft.com/ja-jp/dotnet/core/porting/windows-compat-pack- designs/compat-pack.md at master · dotnet/designs
https://github.com/dotnet/designs/blob/main/accepted/2018/compat-pack/compat-pack.md
- designs/compat-pack.md at master · dotnet/designs
ç§»è¡ã¡ã¢ïŒãªã³ã¯ã®èª€ãïŒ: ç§»è¡å ã§ã¯
ãdesigns/compat-pack.md at master · dotnet/designsãã® URL ãã
çŽåã®é ç®ïŒMicrosoft Docs ã®äºææ©èœããã¯ïŒãšåäžã«ãªã£ãŠããã
ãªã³ã¯ ããã¹ããæã GitHub äžã®èšèšææžïŒdotnet/designsïŒã® URL ã«çœ®ãæããã
Tags: ç§»è¡, .NETéçº, .NET Core