.NET 7 从自包含的单个文件应用程序读取捆绑程序集

问题描述 投票:0回答:0

我制作了一个 .NET 7 编译器,可以为另一个进程编译插件。编译器是一个独立的单文件可执行文件,因此它可以轻松地在多个环境中运行。我很难弄清楚如何读取可以与父进程共享的捆绑依赖项。

我试过的东西

  • 阅读主要装配清单(不存在)
  • Assembly.Location(单个文件可执行文件中为空)
  • AppContext.BaseDirectory(没有真正帮助)
  • System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory()(与 AppContext.BaseDirectory 相同)

我没有想法,我用谷歌搜索的所有内容都回到阅读不包含任何内容的资源清单。

预期行为: 假设一个插件需要 System.Collections.Immutable.dll 编译器需要在编译中引用它才能发出它。发出的程序集加上所有已解析的引用需要流式传输回父进程,以便可以加载它并解析所有引用。

c# .net-core runtime
© www.soinside.com 2019 - 2024. All rights reserved.