.NET:如何以编程方式确定.NET应用程序是否已编译?

时间:2014-01-15 17:03:11

标签: c++ .net windows system-administration

我需要安装一些在启动时每次运行的脚本/应用程序,并在用户权限下执行某些操作。

我的脚本会检查某个.NET应用程序的当前版本(运行非常慢如果没有编译,非常快,如果已编译)是否已编译。如果是否定的,它会编译它(使用NGEN.EXE)。我们知道必须在逐个机器的基础上编译.NET应用程序。

每次机器启动时都必须执行此检查。

问题:您是否建议使用C#,C ++或某些脚本实现此功能?能否请您提供详情?

TIA。

2 个答案:

答案 0 :(得分:2)

尝试找出来没有任何意义,ngen.exe已经可以自己做了。跑吧:

  

ngen.exe更新/队列

update命令告诉它查找不再有效的本机映像。 / queue选项告诉它在后台执行作业。

使用

进行特定程序集的定位
  

ngen.exe 程序集路径安装/队列

答案 1 :(得分:0)

尊敬的自我:

您需要做的就是确定MyApp.exe的日期并将其与日期

进行比较
C:\Windows\assembly\NativeImages*\*\MyApp.ni.exe

如果后者较旧,则需要重新编译。

欢迎你。