Кажется, все настроено правильно. Проблема, кажется, является определенной для частных источников доступа.

образовал решение из VS2008 в VS2010 SP1 и изменил проект модульного тестирования, чтобы нацелиться на структуру 3.5. Помимо исправления нескольких ссылок в проекте модульного тестирования, все работало нормально, и решение было успешно построено. Большинство тестов прошло успешно, но было несколько неудачных. Те, которые потерпели неудачу, используют частный метод доступа. Лично я предпочел бы просто удалить эти тесты, так как я не думаю, что они необходимы, но до тех пор, пока они обнаруживают потенциальную ошибку в SP1, я думал, что увижу, может ли кто-нибудь найти обходной путь.

Сообщение об ошибке, которое я получаю при выполнении тестов: «Эта сборка построена из среды выполнения, более новой, чем текущая загруженная среда, и не может быть загружена». Насколько я могу судить, похоже, что сборка частного средства доступа создается средой выполнения 4.0 (скорее всего, через Microsoft.VisualStudio.QualityTools.UnitTestFramework), но, поскольку среда выполнения 3.5 загружается MSTest, возникает ошибка.

Я попытался изменить ссылку на Microsoft.VisualStudio.QualityTools.UnitTestFramework, чтобы специально использовать версию 9.0 (в настоящее время это 10.1). Это приводит к ошибке времени компиляции, которая говорит о том, что сборка частного средства доступа использует версию 10.0 Microsoft.VisualStudio.QualityTools.UnitTestFramework, которая выше, чем версия 9.0.

Я удалил сгенерированную сборку приватного средства доступа и воссоздал ее, но у меня все еще остается та же проблема. Казалось бы, что-то не синхронизировано с VS2010 SP1, когда платформа 3.5 предназначена для проекта модульного тестирования.

Вот код для одного из модульных тестов (опять же, не очень ценный тест, но не в этом пост ...):

    [TestMethod()]
    public void GetNullableCharValue_DBNull_ReturnsNull_Test()
    {
        object value = DBNull.Value;
        Nullable<char> expected = null;
        Nullable<char> actual;
        actual = RepositoryBase_Accessor.GetNullableCharValue(value);
        Assert.AreEqual(expected, actual);
    }

Ответы на вопрос(1)

Ваш ответ на вопрос