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
.dll
DEBUG
CTRL
SHIFT
B
別の方法として、これも試しまし
dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true
たが、何もパックされていないようで、すべての.dll
s をRelease\netcoreapp3.0\win-x64
フォルダーに配置しただけです。
私は、アプリが他のものではなく.exe
、使用してシングルにパックされていることを好みCostura
ます。