Сегодня я обновил свое решение со всеми базовыми проектами от 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 является настраиваемым исключением и наследует Exception.
Edit Я просмотрел настройки "Исключения" (ctrl + alt + e) в 2008 и 2010 годах. В обеих версиях настройки одинаковы. Однако в 2008 году отладка не прерывается, когда у меня есть атрибут ExpectedException. В 2010 году он сломается.