当我将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 的单个。DEBUG
CTRL
SHIFT
B
或者,我也试过这个:
dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true
但它似乎根本没有打包任何东西,它只是将所有.dll
s 放在Release\netcoreapp3.0\win-x64
文件夹中。
.exe
我更喜欢通过使用Costura
而不是其他任何东西将应用程序打包到 SINGLE中。