3

当我将WPF项目迁移到.NET CORE 3.0并尝试使用打包程序集Costura时,出现以下错误:

目标进程退出而没有引发 CoreCLR 启动事件。确保目标进程配置为使用 .NET Core。如果目标进程未在 .NET Core 上运行,则可能会出现这种情况。
程序“[7980] CryptoBot.exe”已退出,代码为 -2147450740 (0x8000808c)。
程序“[7980] CryptoBot.exe:程序跟踪”已退出,代码为 0 (0x0)。

在此处输入图像描述

我发现这种行为的原因是Costura.Fody没有正确处理*.deps.json文件,并且应该由我“相应地删除或修改”。

这种方法有两个问题:

首先:我使用database.sqlite文件来存储数据,删除*.deps.json会破坏对它的引用e_sqlite3.dll,我不知道如何正确修改它(如果你想检查它,只需使用 nuget 将 sqlite 基本包添加到一个空项目):

在此处输入图像描述

第二:即使它确实有效,它也不会生成单个.exe文件,而是包含依赖项的.exe大小文件。.dll

期望的结果:我希望它能够完全按照它在 中的工作.NET Framework,我想要一个.exe包含在按下++后.dll产生的所有 s 的单个。DEBUGCTRLSHIFTB

或者,我也试过这个: dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true 但它似乎根本没有打包任何东西,它只是将所有.dlls 放在Release\netcoreapp3.0\win-x64文件夹中。

.exe我更喜欢通过使用Costura而不是其他任何东西将应用程序打包到 SINGLE中。

4

0 回答 0