Я установил бета-версию Visual Studio 2011 и обнаружил, что веб-сайт, с которого я работал, с тех пор перестает работать. Было высказано предположение, что имеется сборка MVC
или Razor
от GAC, которая загружается и захватывает. Как я могу это проверить?Как определить, загружается ли сборка GAC
1
A
ответ
3
Запустите приложение в режиме отладки и просмотрите Output window
в Visual Studio. Он будет перечислять каждую сборку по мере ее загрузки, вы легко узнаете сборки GAC по ее полному пути к файлу.
2
Просто интересно, давайте сделаем это во время работы. Идея - проверить свойство Assembly.GlobalAssemblyCache всех загруженных сборок MVC.
Поместите следующий фрагмент код где-то в 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 фильтр в качестве примера):
[Ложная] log4net, Version = 1.2.10.0, культура = нейтральной, PublicKeyToken = 1b44e1d426115821