如何使用GAC和NGEN部署c#应用程序
本文关键字:部署 应用程序 NGEN 何使用 GAC | 更新日期: 2023-09-27 18:11:12
我有一个小的c#工具,编译为Windows应用程序,目的是包装其他工具的执行。这个工具将被频繁地执行,有时每秒100次,这是我无法改变的;同样,这将与框架2工作。这个工具最重要的是短时间的热启动。
使用Visual Studio 2013,我用强名称密钥签名我的程序集。编译"Release",得到"EXE"文件。接下来我运行ngen/install app.exe
这就是我从这里和那里的一百万篇帖子中所能理解的。现在我需要将这个app.exe移动到我的12台服务器上,我不知道我是否应该在每台机器上安装,或者还应该将我的DEV windows/assembly文件夹结构复制到服务器windows/assembly(当然我的应用程序部分只是)。
我没有在一台服务器上安装,但是我没有看到创建的汇编,所以需要更高级的头的帮助。
谢谢帕维尔。
更新:我再次检查,我发现汇编在x64。那么,只运行ngen真的足够吗?
RECAP:我复制了exe到服务器做了ngen安装,检查程序集是否已创建。我运行机器启动exe 500项-它们都在1分24秒内完成(从互斥锁日志)。我重复测试,得到了完全相同的结果:1.24接下来,我做了ngen卸载和检查,组装被删除,它是。我运行相同的测试,结果是1.26 (lol)。考虑到它的稳定性和执行时间对我来说是完全满意的,我想我会放弃它,停止研究使用GAC/NGEN。但是任何对这个场景和我最初的问题的评论都是赞赏的。
应该将应用程序运行所需的所有程序集部署到新机器上。如果你想的话,你可以NGEN。像WiX这样的安装程序可以为您做到这两点。看到这里。