3

WPFプロジェクトをに移行し.NET CORE 3.0、 を使用してアセンブリをパックしようとするとCostura、次のエラーが発生します。

ターゲット プロセスは、CoreCLR 開始イベントを発生させずに終了しました。ターゲット プロセスが .NET Core を使用するように構成されていることを確認します。これは、ターゲット プロセスが .NET Core で実行されていない場合に発生する可能性があります。
プログラム '[7980] CryptoBot.exe' はコード -2147450740 (0x8000808c) で終了しました。
プログラム '[7980] CryptoBot.exe: Program Trace' はコード 0 (0x0) で終了しました。

ここに画像の説明を入力

この動作の理由は、ファイルCostura.Fodyが適切に処理されていないため*.deps.jsonであり、それに応じて「削除または変更」する必要があることがわかりました。

このアプローチには 2 つの問題があります。

最初:database.sqliteファイルを使用してデータを保存しています。削除する*.deps.jsonと参照が壊れe_sqlite3.dll、適切に変更する方法がわかりません(チェックアウトしたい場合は、nugetを使用して空のプロジェクトにsqlite基本パッケージを追加するだけです):

ここに画像の説明を入力

2番目: 機能したとしても、単一の.exeファイルを生成するのではなく、依存関係を含む.exe大小のファイルを生成します。.dll

望ましい結果: で動作したのとまったく同じように動作するようにしたいと思います。 + +を押した後に生成されたすべてのsを含む.NET Frameworkシングルが必要です。.exe.dllDEBUGCTRLSHIFTB

別の方法として、これも試しまし dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true たが、何もパックされていないようで、すべての.dlls をRelease\netcoreapp3.0\win-x64フォルダーに配置しただけです。

私は、アプリが他のものではなく.exe、使用してシングルにパックされていることを好みCosturaます。

4

0 に答える 0