在.NET中,“平台目标:任何CPU”编译器选项允许.NET程序集在x64机器上以64位运行,在x86机器上以32位运行。还可以使用'Platform Target: x86‘编译器选项强制程序集在x64计算机上以x86身份运行。
是否可以运行带有“Any CPU”标志的程序集,但确定它应该在x86还是x64 CLR中运行?通常,这个决定是由CLR/OS Loader根据底层系统的位数做出的(这是我的理解)。
我正在尝试编写一个C# .NET应用程序,它可以与其他正在运行的进程交互(读取:向其中注入代码)。x64进程只能注入到其他x64进程中,x86也是如此。理想情况下,我希望利用JIT编译和Any选项,允许使用单个应用程序注入x64或x86进程(在x64机器上)。
这个想法是,应用程序将被编译为任何CPU。在x64机器上,它将作为x64运行。如果目标进程是x86,它应该重新启动自身,强制CLR以x86身份运行它。这个是可能的吗?
https://stackoverflow.com/questions/1507268
复制相似问题