如何確定一個特定的.Net程序集是否已被創建?我需要從代碼檢查。即使調用命令行也沒問題。目前我看不出有什麼辦法來確定這一點。如何確定裝配是否已經完成?
回答
您可以嘗試在「ngen cache」(C:\ Windows \ assembly \ NativeImages_v2XXXXXXX)中找到您的程序集。
已存儲的程序集將具有以下格式名稱: [basename]。 ni。[baseextension]。
Windows 7似乎存儲它們是一個稍微不同的位置,並沒有'.ni。'在名字中:C:\ Windows \ assembly – 2010-02-16 19:16:41
很奇怪。我安裝了Windows 7,「ngen cash」路徑是「C:\ Windows \ assembly \ NativeImages_v2.0.50727_32 \」。 – Sasha 2010-02-17 08:02:50
檢查從代碼
檢查,如果我們加載本地圖像執行的程序集。我在加載的模塊文件名屬性中尋找模式「\ assemblyname.ni」。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Diagnostics;
namespace MyTestsApp
{
class Program
{
static bool Main(string[] args)
{
Process process = Process.GetCurrentProcess();
ProcessModule[] modules = new ProcessModule[process.Modules.Count];
process.Modules.CopyTo(modules,0);
var niQuery = from m in modules where m.FileName.Contains("\\"+process.ProcessName+".ni") select m.FileName;
bool ni = niQuery.Count()>0 ?true:false;
if (ni)
{
Console.WriteLine("Native Image: "+niQuery.ElementAt(0));
}
else
{
Console.WriteLine("IL Image: " + process.MainModule.FileName);
}
return ni;
}
}
}
命令行解決方案:在命令提示
運行 「NGEN顯示」。
例子:
NGEN顯示MyTestsApp.exe
如果已安裝,它打印出像 機映像: MyTestsApp,版本= 1.0.0.0,文化=中立,公鑰=空
並返回0(%ERRORLEVEL%)
否則,它打印出:
錯誤:指定的程序集未安裝。
並返回-1
- 1. 如何確定定時任務是否已經完成
- 2. 確定AutoBoxing是否已完成
- 3. 確定javascript是否已完成
- 4. 如何確定Visual Basic中的「WriteAllText」是否已成功完成?
- 5. 如何確定`.post`請求是否已經開始並在jquery中完成
- 6. JSON響應是否已經完成?
- 7. 如何確定是否SkinnableComponent已完成添加部件?
- 8. 如何確定文件夾是否已完成複製c#
- 9. 如何確定文件是否已完成python下載
- 10. 如何確定文件是否已完成下載
- 11. 如何確定html div元素是否已完成加載
- 12. 如何確定dojo網格是否已完成加載?
- 13. 如何確定AVM1Movie是否完成?
- 14. 如何確定過程是否完成?
- 15. 如何檢測一個進程是否已經完成執行
- 16. 如何檢查Perl編譯是否已經完成?
- 17. 我如何知道工作是否已經完成? - crontab的
- 18. 如何知道do_upload是否已經啓動並完成?
- 19. 如何確定我是否已經正確實施了d3?
- 20. 確定是否已經過去5秒
- 21. 確定過程是否已經死亡?
- 22. 如何確定是否已在MongoDB中完成完整集合掃描
- 23. 重裝內容已經完成
- 24. 如何檢查location.href是否已完成?
- 25. 如何檢查$ compile是否已完成?
- 26. Android:如何確定Google Play服務是否已正確安裝
- 27. 是不是已經完成JSR 286(portlets)?
- 28. 如何檢查所有任務是否已正確完成?
- 29. 如何確定NSDate(包括時間)是否已經過去
- 30. 如何確定用戶是否已經購買訂閱
在代碼中?從命令行?交互式?什麼?它必須在文件屬性的某處... – 2010-01-30 09:31:11