c# - 如何在 C# 库中使用嵌入式 .NET exe,而不从其 byte[] 重建文件?

标签 c# resources .net-4.0 embedded-resource

我的 .NET 库中有一个嵌入文件 - xsd.exe

如何在不从 byte[] 重建嵌入文件的情况下使用它?

exe 在命令行上运行,因此我需要能够进行如下调用:xsd/o:.. 或其他。

我读过一些关于 ManifestResourceStream 的内容,但我似乎在框架中找不到它,而且我不知道如何使用它。

有什么想法吗?

最佳答案

如果您可以将其写入临时文件 (File.WriteAllBytes),则可以创建一个新的 AppDomain,并使用 yourAppDomain.ExecuteAssembly(.. .);但是,要从 byte[] 手动执行此操作,我希望您需要使用 Assembly.Load(byte[],...) 手动加载它,看看在 loadedAssembly.EntryPoint 处,并使用反射来调用它。 ExecuteAssembly 方法要简单得多...

当然,如果您可以将其写入文件,您也可以只使用Process.Start,这甚至简单;p

您可能还想仔细检查 xsd.exe 的 redist/部署权限。

关于c# - 如何在 C# 库中使用嵌入式 .NET exe,而不从其 byte[] 重建文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3932114/

相关文章:

Android:进程已经死亡 - 资源不足?

c# - 如何将事件处理程序添加到 DataGrid 按钮(该按钮是基于数据库动态添加的)?

c# - 为什么这个简单的 linq 查询需要这么多时间?

java - Java 中的资源加载无法正常工作

resources - 如何将图像包含到 iOS/Xcode 4 中的库中

c# - 目标框架为 4.0 时出现 System.BadImageFormatException

c# - 使用特定区域性进行排序 - 在丹麦语和挪威语中, "BB"可能先于 "AA"

c# - 在 WPF 中获取窗口的真实位置

c# - 当 Liskov Substitution 提到子类型时,它是在谈论 C# 上下文中的派生类吗?

.net - .Net 4.0 支持哪些版本的 Windows?