ngen.exe如何编译,生成的native代码如何运行?我想使用ngen命令行为特殊目的编译一个C#程序。所以我在VS2010中创建了一个控制台应用程序并命名为ngentest。在vs2010projectsngentestbindebug中创建一个名为ngentest.vshost.exe的文件。我在VS2010命令提示符中使用此文件作为ngen命令参数,如下所示:ngen"c:documentsvs2010projectsngentestbindebugngentest.vshost.exe"但是当我这样做时,我无法收到PublicKeyToken,而且我在任何地方都找不到任何组件!如果创建了我的程序集,它在哪里?我怎样才能找到它?我如何运行它(使用命令,或...!)来获取输出?否则,当我使用VS的构建菜单中的构建ngen构建我的项目时,会在提到的目录中创建一些文件,其中之一是ngentest.exe。编译C#代码时,它被编译为IL程序集。NGEN将IL程序集作为输入并将程序集及其依赖项安装到本机图像缓存中。对于示例二进制文件,您需要打开管理员VS命令提示符并键入以下ngeninstallngentest.exe这会将您的exe及其依赖项dll文件安装到本机图像缓存中。然后,当您运行exe时,.NET运行时将加载并运行安装到本机图像缓存中的本机图像。.NET无需执行任何额外步骤即可运行本机图像。本机图像缓存在运行时进行检查,以查看是否存在适用于IL程序集的有效本机图像。您可以通过键入以下命令验证本机映像是否已安装:ngenshowngentest.exe有关本机映像加载的更多信息,请参阅http://blogs.msdn.com/b/junfeng/archive/2007/02/18/native-image-loading.aspx。请注意,ngentest.vhost.exe是VS创建的一个工件,用于提供更好的调试体验。它由VS使用。你不应该将它用于NGEN或其他任何东西。请参阅问题:vshost.exe文件的用途是什么?了解更多信息。以上就是C#学习教程:如何使用ngen.exe编译,如何运行生成的native代码?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
