tokumamorioka
@tokumamorioka (森岡 徳馬)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【BUG】Parquet.Net 4.25.0を.NetFramework4.8から正常実行できない

Q&A

Closed

解決したいこと

Parquet.Net 4.25.0の実行時エラーを解決したいです。

発生している問題・エラー

FileNotFoundException: ファイルまたはアセンブリ 'System.Text.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

### 該当するソースコード
```C#
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658366/acc1ba87-ec83-4091-9986-64df8b77b670.png)


### 再現方法
・.NetFramework4.8※のコンソールプロジェクト作成
・上記画像の通りにコードを作成
・nugetからParquet.Net 4.25.0をインストール
・ParquetSerializer.SerializeAsync()実行時に上記の実行時エラー発生
※.Net環境では再現せずに正常動作
 また、System.Text.Json 8.0.0を手動インストールすることで無理やり正常動作させることも確認済ですが、根本的な解決でないと考えます。

### 備考
Parquet.Netリポジトリに上記内容のissueを作成しました。
https://github.com/aloneguid/parquet-dotnet/issues/601
0

2Answer

.NET Core発なので当たり前っちゃ当たり前.

そもそも.NET Framework対応は謳ってないのでムチャなリクエストはやめましょう.

0Like

Comments

  1. @tokumamorioka

    Questioner

    回答ありがとうございます。

    .NetStandard2.0対応と記載あったので、勝手に.NetFramework対応しているものと勘違いしておりました...。

また、System.Text.Json 8.0.0を手動インストールすることで無理やり正常動作させることも確認済ですが、根本的な解決でないと考えます。

依存関係が解決しているなら、それで問題ないと思います。
ただ、普通はNugetでインストールしていたら依存してるライブラリも勝手にインストールしてくれるんですけど、そうならない理由はよく判りませんが。

.NETStandard 2.0
IronCompress (>= 1.5.2)
Microsoft.Data.Analysis (>= 0.21.1)
Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
Nullable (>= 1.3.1)
System.Reflection.Emit.Lightweight (>= 4.7.0)
System.Text.Json (>= 8.0.4)
System.Threading.Tasks.Extensions (>= 4.5.4)

これらの中でインストールされていないものがあれば、全部追加で入れる必要があると思います。
Githubで公開されているものなら、適合するフレームワークのものがない場合は
最悪自分でビルドして合わせるなんてことも出来なくはないですが、
.NETの新しいバージョン使えるなら、そちらで使ったほうがいいですね。

0Like

Your answer might help someone💌