如何使用GAC和NGEN部署C#应用程序

时间:2014-07-03 10:11:08

标签: c# .net deployment gac ngen

我有一个小的C#工具,编译为Windows应用程序,其目标是包装其他工具的执行。这个工具将被频繁执行,有时每秒100次,这是我无法改变的;与此相同的将与Framework 2一起使用。对于此工具最重要的是短暂的热启动。

使用Visual Studio 2013我使用强名称密钥签署了我的程序集。编译"发布"得到了#EXE"文件。接下来我运行了ngen / install app.exe

这就是我从这里和那里的一百万个帖子中可以理解的全部内容。 现在我需要将这个app.exe移动到我的12台服务器上,我不知道我是否应该只在每台机器上安装,或者还应该将我的DEV窗口/组件文件夹结构复制到服务器窗口/组件(当然我的应用程序部件)只)。

我在一台服务器上安装了ngen,但是我没有看到已经创建了程序集,所以需要更高级的头部帮助。

由于 的Pawel。

更新:我再次检查,我在x64中找到了程序集。那么只运行ngen真的够了吗?

RECAP:我将exe复制到服务器上进行了ngen安装,检查是否已创建程序集。我运行机器启动exe 500项 - 它们都在1分24秒内完成(来自互斥锁日志)。我重复测试并得到完全相同的结果:1.24接下来我做了ngen卸载并检查了程序集被删除了,确实如此。我运行相同的测试,结果是1.26(lol)。考虑到它是稳定的,并且执行时间完全令我满意,我想我会放弃并停止研究使用GAC / NGEN。但是对此场景的任何评论和我原来的问题都表示赞赏。

1 个答案:

答案 0 :(得分:2)

您应该将应用程序需要运行的所有程序集部署到新计算机。如果你愿意,你可以NGEN。像WiX这样的安装程序可以为您完成这两项工作。请参阅here