gpt4 book ai didi

c# - Mkbundle Mono Assembly 绑定(bind)重定向

转载 作者:太空狗 更新时间:2023-10-30 00:24:01 26 4
gpt4 key购买 nike

我有一个示例 .NET 应用程序可以在 Windows 上正常运行,而我的 Ubuntu 环境则使用单声道。

我正在尝试使用 Mkbundle 创建单个 native 程序集,以便我可以使用 busybox 将其容器化并保持较小的尺寸,而不是通常庞大的臃肿容器。

我遇到的问题是 Json.net,我认为这是由于来自 app.config 文件的程序集绑定(bind)重定向,还有其他人遇到过这个问题吗?

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" /></startup>

<runtime>

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

<dependentAssembly>

<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />

<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />

</dependentAssembly>

</assemblyBinding>

</runtime>

</configuration>

在有和没有 --static 的情况下都会产生以下错误

enter image description here

最佳答案

我解决这个问题的方法是指定 --nodeps 标志。

mkbundle --nodeps -o console OutsideSourcesAPI.exe *.dll

但是,当您运行它时,它可能会给您错误,例如...

The assembly mscorlib.dll was not found or could not be loaded.

Unhandled Exception: System.IO.FileNotFoundException: 
Could not load file or assembly 'System.Xml, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes' or one of its dependencies.

然后你必须手动指定任何缺失的依赖项(我知道,有点臭)

mkbundle --nodeps -o console OutsideSourcesAPI.exe *.dll mscorlib.dll System.Xml.dll

关于c# - Mkbundle Mono Assembly 绑定(bind)重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30763986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com