我有一个第三方非托管程序作为我的应用程序的一部分。我有一个托管的C#应用程序,它是系统的“入口点”。它确保只有满足某些条件才能正常运行非托管程序。
我希望C#应用程序在沙箱中运行非托管程序,以便特定文件不直接直接读取或写入硬盘驱动器;相反,C#应用程序需要处理它,然后将文件提供给第三方应用程序或将其保存到磁盘。
我已经研究过使用C#的AppDomain类,但我相信只有托管代码可以由它运行。是否有我想要完成的替代系统?
答案 0 :(得分:3)
非常确定你无法真正在C#沙箱中运行非托管程序,除了在C#中编写非托管仿真器并在其中运行非托管可执行文件。而且运行起来很慢而且很难写,所以你可能不想走那条路。
我能看到这个工作的唯一方法是,如果非托管程序为文件系统调用了一个C#包装器。你有非托管程序的源代码吗?