2012-03-05 60 views
1

我已安裝Visual Studio 2011測試版,並且發現我正在處理的網站已停止工作。有人建議,從正在加載和接管的GAC獲得一個MVCRazor組件。我將如何檢查這個?如何識別GAC程序集是否正在加載

回答

3

以調試模式運行應用程序,並在Visual Studio中觀看Output window。它將列出加載的每個程序集,您將通過完整的文件路徑輕鬆識別GAC程序集。

2

只是感興趣讓我們在運行時做。這個想法是 - 檢查所有加載的MVC程序集的Assembly.GlobalAssemblyCache屬性。

將下面的代碼段某處Page_Load()和看到在特定組件是否從GAC加載的文件:

using System.Linq; 
var items = AppDomain.CurrentDomain 
        .GetAssemblies() 
        .Where(a => a.FullName.Contains("MVC")) 
        .Select(a => String.Format(
             CultureInfo.InvariantCulture, 
             "[{0}] {1}", 
             a.GlobalAssemblyCache, 
             a.FullName)); 

File.WriteAllLines("c:\\assembliesdump.txt", items .ToArray()); 

輸出將是如下所示(log4net的濾波器作爲例子):

[FALSE] log4net的,版本= 1.2.10.0,文化=中性 公鑰= 1b44e1d426115821

相關問題