Мы недавно обновили все наши проекты VS2008 до VS2010.Наша кодовая база все еще нацелена на платформу версии 3.5, но я уверен, что большинство из вас знает, что тестовые проекты должны быть обновлены до версии платформы 4.0.
У нас есть один конкретный набор тестов, который сейчас не работает,тестовый проект ориентирован на фреймворк 4.0.Эти тесты тестируют весь код, который выполняет какую-то задачу отражения.После небольшой отладки мне удалось сузить проблему.
По какой-то причине в обновленном тестовом проекте следующий код:
AppDomain.CurrentDomain.GetAssemblies();
вернет ссылку на "Microsoft.VisualStudio.Enterprise.AspNetHelper».Если я затем вызываю
GetTypes()
для этой сборки, я получаю ReflectionTypeLoadException, в котором говорится, что он не может загрузить сборку "Microsoft.Web.Administration".
Так что мне кажется, что есть некоторыевведите в "Microsoft.VisualStudio.Enterprise.AspNetHelper", который наследует или имеет какую-либо ссылку на другой тип в Microsoft.Web.Administration.Я сделал некоторое чтение и понимаю, что DLL администрирования является частью IIS7.Я занимаюсь разработкой на XP и не установил IIS7.
Мой реальный вопрос - почему Microsoft.VisualStudio.Enterprise.AspNetHelper в моем домене приложений в тестах VS2010, а не в тестах VS2008?Создание простого консольного приложения, которое делает то же самое, не кажется проблемой - только для тестовых проектов.Как мне обойти это?