netcoreapp2.0
コンソールアプリケーションを開発中で、.NETからのエンコードパッケージ全体にアクセスする必要があります。Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)は追加のエンコーディングプロバイダを追加しません
すでにNugetパッケージをthis pageからプロジェクトに追加して、プロジェクトを何回かクリーニング/復元しました。
しかし、私が必要とする余分なエンコーディングを得ることはできません。
次のコード
Console.WriteLine(Encoding.GetEncodings().Length);
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Console.WriteLine(Encoding.GetEncodings().Length);
戻り値:
8
8
と余分な符号化はEncoding
クラスに追加されます。
これらは私が私のプロジェクトを持っているすべての参照です:
<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="2.0.0" />
<PackageReference Include="System.Data.HashFunction.xxHash" Version="2.0.0-ci-00012" />
<PackageReference Include="Nager.PublicSuffix" Version="1.1.0" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.4.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
私はここで何か間違ったことをやっていますか?再び、.NETのコアSDK 2.0.2を再インストールした後、物事が正常に動作し始め、私はEncoding.GetEncoding()
メソッドを使用して、拡張エンコーディングのコードページを使用することができ、しかしEncoding.GetEncodings()
はまだ初期の8エンコーディングを返し
更新
コードページ。
packages.configにMicrosoft.NETCore.Platforms 2.0への参照がありませんか?これはlibの依存関係です。 –
Visual Studioで見る限り、私のプロジェクト@GabrielRainhaで ''によって設定された 'Microsoft.NETCore.App' SDKの一部として既に読み込まれていますしかし、私は ' 'を追加しようとしましたが、残念ながらそれは役に立たなかった。 –
アップデートを回答として追加してください。将来の人々を助けるかもしれない。 –