솔루션을 VS2008에서 VS2010 SP1로 변환하고 3.5 프레임 워크를 대상으로 단위 테스트 프로젝트를 변경했습니다. 단위 테스트 프로젝트에서 몇 가지 참조를 수정하는 것 이외에는 모든 것이 정상적으로 수행되었으며 솔루션이 성공적으로 구축되었습니다. 대부분의 테스트가 성공적으로 수행되었지만 실패한 테스트가있었습니다. 실패한 것들은 private 접근자를 사용하고 있습니다. 개인적으로 필자는 필자가 필자가 필요하다고 생각하지 않기 때문에이 테스트를 제거 하겠지만 SP1에서 잠재적 인 버그가 드러나는 한 모든 사람들이 해결 방법을 찾아 낼 수 있을지 알았습니다.전용 액세서를 사용하는 경우 VS2010 SP1 테스트 대상 3.5 프레임 워크가 실패 함
테스트를 실행할 때 나타나는 오류 메시지는 "이 어셈블리는 현재로드 된 런타임보다 최신 런타임에 의해 빌드되어로드 할 수 없습니다."라는 오류 메시지가 있습니다. 내가 알 수있는 것처럼 private 접근 자 어셈블리는 4.0 런타임 (Microsoft.VisualStudio.QualityTools.UnitTestFramework)을 통해 빌드되는 것으로 보이지만 3.5 런타임은 MSTest에 의해로드되므로 결과 오류가 발생합니다.
Microsoft.VisualStudio.QualityTools.UnitTestFramework에 대한 참조를 특히 버전 9.0 (현재는 10.1)으로 변경하려고 시도했습니다. 이로 인해 컴파일러 오류가 발생하여 개인 액세스 어셈블리가 버전 9.0보다 높은 버전의 Microsoft.VisualStudio.QualityTools.UnitTestFramework를 사용한다고합니다.
생성 된 전용 접근 어셈블리를 삭제하고 다시 생성했지만 여전히 동일한 문제가 있습니다. 단위 테스트 프로젝트에서 3.5 프레임 워크를 대상으로 할 때 VS2010 SP1과 동기화되지 않은 것으로 보입니다. (... 다시없는 매우 귀중한 테스트,하지만 게시물의 시점이 아니다) 여기
은 단위 테스트 중 하나에 대한 코드입니다 : 다음 단계를 수행하여[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);
}
자세한 답변을 보내 주셔서 감사합니다. 그것은 위대한 작품. – Dominick
VS 2008의 경우 publicize.exe를 다운로드 할 수 있습니까? 링크 된 페이지에는 다운로드 버튼이 없으며 인터넷 검색으로 비어 있습니다. – LCC