Сегодня я обновил свое решение со всеми базовыми проектами с VS2008 до VS2010. Все прошло хорошо, за исключением моих юнит-тестов.
Прежде всего, только веб-проекты имели в качестве целевой платформы .NET 4. Все остальные проекты все еще имели .NET 3.5. Я изменил их все на .NET 4.
Теперь, когда я отлаживаю свои юнит-тесты, он ломается при каждом исключении. В 2008 году он просто не пройдет и не скажет мне, что произошло исключение. Даже когда у меня определен атрибут ExpectedException, он останавливает отладку для каждого исключения.
И пример одного из моих тестов:
[TestMethod]
[ExpectedException(typeof(EntityDoesNotExistException))]
public void ConstructorTest()
{
AddressType type = new AddressType(int.MaxValue);
}
EntityDoesNotExistException является пользовательским исключением и наследует исключение.
Редактировать
Я посмотрел на настройки исключений (Ctrl + Alt + E) в 2008 и 2010 годах. В обеих версиях настройки одинаковы. Однако в 2008 году отладка не прерывается, когда у меня есть атрибут ExpectedException. В 2010 году он сломался.