以下のコードはWindowsでのみ実行可能
Strings.StrConv(strConv, VbStrConv.Hiragana, VisualBasicUtil.LocaleId_Japanese)
以下に変更
using CSharp.Japanese.Kanaxs;
KanaEx.ToHiragana(strConv);
Windowsアプリでは使用したいので、以下のように変更。
Thread thread = new Thread(() => act());
thread.TrySetApartmentState(ApartmentState.STA);
この対応で問題ないか、後日検証する。
以下の処理は利用できないので、プリプロセッサで分岐。
※ClickOnceは利用しなくなるはずなので、この処理は不要。
#if !NET
using System.Deployment.Application;
if (ApplicationDeployment.IsNetworkDeployed)
{
// 現在のバージョンを取得。
ApplicationDeployment deploy = ApplicationDeployment.CurrentDeployment;
strDeploymentVersion = deploy.CurrentVersion.ToString();
}
#endif
Microsoft.JScript.JScriptCodeProvider
は利用できなくなるので、ClearScriptに移行。
microsoft/ClearScript
https://github.com/microsoft/ClearScript
System.Management.ManagementObjectSearcher
は、Windowsでのみ利用可能。
App.config
に記述していた設定を、log4net.config
に変更。
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
を
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
に変更。
"log4net.config"
の部分は、.NET framework時代のApp.config
を使用しても動作する。ただし、該当ファイルのプロパティを、新しい場合はコピーする
に変更すること。
Windowsでのみ利用可能。
Windowsでのみ利用可能。
Thread.GetDomain().DefineDynamicAssembly()
#if NET
var assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(new AssemblyName { Name = name },
AssemblyBuilderAccess.Run); //NOTE: to save, use RunAndSave
#else
var assemblyBuilder = Thread.GetDomain().DefineDynamicAssembly(new AssemblyName { Name = name },
AssemblyBuilderAccess.Run); //NOTE: to save, use RunAndSave
#endif
Windowsでのみ利用可能。
AssemblyInfo.cs
に属性を追加する。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
<AssemblyName>XXXXXXXX</AssemblyName>
<RootNamespace>XXXXXXXX</RootNamespace>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>XXXXXXXX.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
↓
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0-windows</TargetFramework>
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>
<AssemblyName>XXXXXXXX</AssemblyName>
<RootNamespace>XXXXXXXX</RootNamespace>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>XXXXXXXX.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
と設定している場合は、以下の属性を追加する。
#if WINDOWS
[assembly: System.Runtime.Versioning.TargetPlatform("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatform("Windows7.0")]
#endif
Azuki テキストエディタエンジン
https://azuki.osdn.jp/
以下のモジュールが.net core
で動作するかも
kkato233/azuki
https://github.com/kkato233/azuki
.NET Core 3.0 および 3.1 における Windows フォームでの破壊的変更
https://docs.microsoft.com/ja-jp/dotnet/core/compatibility/winforms
DataGrid クラス
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.datagrid?view=netframework-4.8
このクラスは .NET Core 3.1 以降のバージョンでは利用できません。 コントロールを DataGridView 置き換えて、コントロールを拡張する代わりに、コントロールを使用し DataGrid ます。
.NET Coreでは利用できない。DataGridView
を使えとのこと。
ContextMenu クラス
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.contextmenu?view=netframework-4.8
ContextMenuStrip
に変更する。
.NET Coreでは利用できない、代替コントロールもなし。
Visual Basic Power Packs Controls
https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2013/cc488277(v=vs.120)
http://go.microsoft.com/fwlink/?linkid=321343
#if NET
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
#endif
不要なライブラリがプロジェクトにあると、Visual Studioが自動的に読み込んでしまうことがある為、注意!!
hirekoke/LoadingRing
https://github.com/hirekoke/LoadingRing
Kisogawa/LoadingRing
https://github.com/Kisogawa/LoadingRing
System.Windows.Interactivity.dll
)Microsoft.Xaml.Behaviors.Wpf
に変更する。
Prism.Core
に変更する。
MaterialDesignThemes
とMaterialDesignColors
の .NET Core 対応版を利用する。
.Designer.cs
が 自動的にネスト(nest)されない。*.csproj に以下のように設定を追加する。
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Update="Properties\Settings.Designer.cs">
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
<Compile Update="test\DataSet1.Designer.cs">
<DependentUpon>DataSet1.xsd</DependentUpon>
</Compile>
</ItemGroup>
Open Source QRCode Library
https://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library
aaronogan/QR.NET
https://github.com/aaronogan/QR.NET
gokeiyou/ThoughtWorks.QRCode.Core
https://github.com/gokeiyou/ThoughtWorks.QRCode.Core
上記のモジュールを使用するか、独自で.NET Core対応版を作成する。
Crystal Reports, Developer for Visual Studio Downloads
http://nkurilog.blogspot.com/2017/12/crystal-reports-developer-version-for.html
Downloads for SAP Crystal Reports, SAP Crystal Presentation Design and SAP Crystal Dashboard Design
https://origin.softwaredownloads.sap.com/public/site/index.html
How to call/reference Crystal Reports from .Net Core
https://stackoverflow.com/questions/62057447/how-to-call-reference-crystal-reports-from-net-core
Crystal Reports for Visual Studio and .NET Core 5. Any plans?
https://www.google.com/search?q=Crystal+report+.net+core&oq=Crystal+report+.net+core&aqs=edge..69i57j0i13j0i30j0i13i30l3j0i30j0i8i13i30j0i8i30.6598j0j4&sourceid=chrome&ie=UTF-8
Is it possible to display Crystal Report in ASP.Net Core Application
https://forums.asp.net/t/2148543.aspx?Is+it+possible+to+display+Crystal+Report+in+ASP+Net+Core+Application
Crystal Reports in ASP .NET Core 2.0
https://answers.sap.com/questions/318288/crystal-reports-in-asp-net-core-20.html
現時点では、Cryastal Reports
を使い続ける場合、何らかの対応を独自に行う必要がある。
2023-03-01 追記
Crystal Reports Runner
なるリポジトリを発見。
https://github.com/gerardo-lijs/CrystalReportsRunner
Asp.Net Core Reporting (SSRS) #1528
https://github.com/dotnet/aspnetcore/issues/1528
ilich/MvcReportViewer
https://github.com/ilich/MvcReportViewer
lkosson/reportviewercore
https://github.com/lkosson/reportviewercore
「Reporting Services is a free Microsoft product. While decompiling and modifying it for compatibility reasons is legal in my local jurisdiction, redistributing modified version most likely is not. Use at your own risk.」
lkosson/reportviewercore
のソースを確認したところ、逆アセンブルして色々と調整している模様。「私の地元では合法です」とのこと。
日本語リソース関連の対応が行われていないようだ。
dotMorten/Microsoft.SqlServer.Types
https://github.com/dotMorten/Microsoft.SqlServer.Types
Install the packagedotMorten.Microsoft.SqlServer.Types
from NuGet.
System.Resources.Extensions
パッケージが必要
.NET Core ではWCF関連機能の内、クライアント側機能のみ利用可能。
WCF – Windows Communication Foundation Client Libraries
https://github.com/dotnet/wcf
.NET Core に見当たらない。
System.ServiceModel.Http
パッケージを利用。
.NET Core に見当たらない。
System.ServiceModel.Security
パッケージを利用。
.NET Core に見当たらない。
wcf/src/System.Private.ServiceModel/src/System/ServiceModel/Dispatcher/IErrorHandler.cs
https://github.com/dotnet/wcf/blob/main/src/System.Private.ServiceModel/src/System/ServiceModel/Dispatcher/IErrorHandler.cs#L10
System.Private.ServiceModel
パッケージとして提供されているようだが、参照する事が出来ずにコンパイルが通らない。。。
System.ServiceModel.Primitives
パッケージが使用されている??このパッケージにはIErrorHandler
が存在しない。。
CoreWCF/CoreWCF
https://github.com/CoreWCF/CoreWCF
Windowsアプリケーションの .NET Core
には対応していない模様。
.NET Coreアプリケーションで ActiveReports を使用できますか?
https://www.grapecity.co.jp/developer/activereports/release/14ActiveReports for .NET は、バージョン14.0Jで .NET Core に対応しました。
ASP.NET Coreアプリケーションでの使用をサポートしています。
.NET Core デスクトップアプリ(Windowsフォーム/WPF)での使用はサポートしていません。
LumenWorks.Framework.IO
A Fast CSV Reader
http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader
ソースコードが公開されているので、.NET Core
でビルドしてライブラリを独自に作成する。
System.ServiceModel.Primitives
パッケージのインストールが必要。
オリジナル版では .NET Core 版を提供していない??
BouncyCastle
The Legion of the Bouncy Castle
https://www.bouncycastle.org/csharp/
Portable.BouncyCastle
はオリジナル??
Portable.BouncyCastle
https://www.nuget.org/packages/Portable.BouncyCastle/1.8.10?_src=template
chrishaly/bc-csharp
https://github.com/chrishaly/bc-csharp
BouncyCastle.NetCore
https://www.nuget.org/packages/BouncyCastle.NetCore/
MSTestV1 から MSTestV2 へのアップグレード
https://docs.microsoft.com/ja-jp/visualstudio/test/mstest-update-to-mstestv2
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="MSTest.TestAdapter" Version="2.2.7" />
<PackageReference Include="MSTest.TestFramework" Version="2.2.7" />
</ItemGroup>
NET Framewarkから NET 6への移行でやった細かいこと(C++CLIもあるよ)
https://youtu.be/1wcfGyDx6Xk
.NET Core
.NET Framework
.NET Framework 4.7.2