Конструктор класса выдает исключение VerificationException после обновления до VS 2012 и.Net 4.5

У меня есть код вида

using FluentValidation;

public class FreeformValidator : AbstractValidator
{
    public FreeformValidator() // <-- VerificationException on this line
    {
        RuleFor(ff => ff.Text).Must(BeLongEnough).WithMessage("Must be at least {0} characters.", ff => ff.MinLength);
    }
}

который запускается модульным тестом. В VS 2010, ориентированном на.Net 4, модульный тест прошел нормально. После обновления до VS 2012 и ориентации на.Net 4.5 модульный тест выдает

VerificationException

Operation could destabilize the runtime.

В диалоговом окне исключения предлагается

Make sure your application is not loading two conflicting versions of a class library.

AbstractValidator взят из FluentValidation. И тестируемый проект, и проект модульного тестирования ссылаются на FluentValidation 3.3.1.0. Оба проекта также теперь нацелены на.Net 4.5.

Оба проекта нацелены на AnyCPU. Код работает на Windows 7 64 -бит.

Обновление

Вот код модульного теста

[TestMethod]
public void FreeformValidation_MinLength()
{
    Freeform fa = new Freeform();
    fa.Required = true;
    fa.MinLength = 3;
    fa.MaxLength = 10;
    FreeformValidator fv = new FreeformValidator();

    fa.Text = "AB";
    ValidationResult results = fv.Validate(fa);
    Assert.AreEqual(1, results.Errors.Count, "Expected MinLength to fail.");
    Assert.AreEqual("Must be at least 3 characters.", results.Errors[0].ErrorMessage, "Expected MinLength to fail.");
}

Обновление 2

Возможно, связано

System.Security.VerificationException после установки VS 2012

Однако переключение конфигурации на x86 и повторный -запуск тестов приводит к тому же Исключению .

Похожие проблемы, которые, похоже, не применимы

Как я могу предотвратить VerificationException при запуске теста с подключенным отладчиком?

Модульный тест так же не работает без отладчика, и добавление FluentValidator в список исключений IntelliTrace не помогло.

Операция может дестабилизировать среду выполнения?

У меня нет сборки со строгим именем и атрибута AllowPartiallyTrustedCallers.

Обновление 3

PEVerify не обнаруживает проблем ни с библиотекой DLL тестового проекта, ни с проверяемой библиотекой DLL.

6
задан Community 23 May 2017 в 12:12
поделиться