2013-02-22 2 views
2

У меня есть проект веб-приложения. Я пытаюсь перейти на .NET 4.5. Мы строим TFS на сервере сборки с установленным VS2010, но в нем также содержатся все правильные сборки ссылок для VS2012 и установлена ​​платформа .NET 4.5.Проект модуля тестирования не работает v11 из BuildShadowTask

При выполнении модульного тестирования проекта, содержащий частные аксессоров, сборка завершается с ошибкой -

System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\LocalPath\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll' 

Однако сборка будет успешным, если изменить $ (MSBuildExtensionsPath) \ Microsoft \ VisualStudio \ v11.0 \ TeamTest \ Microsoft.TeamTest.Targets файл из

<UsingTask TaskName="BuildShadowTask" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\TeamTest\Microsoft.VisualStudio.TestTools.BuildShadowsTask.dll"/> 

в

<UsingTask TaskName="BuildShadowTask" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamTest\Microsoft.VisualStudio.TestTools.BuildShadowsTask.dll"/> 

Нельзя ли использовать частные аксессоры с VS2012? Если да, то почему Microsoft.VisualStudio.TestTools.BuildShadowsTask.dll v11 терпит неудачу, но v10 преуспевает?

EDIT Это будет скомпилировано на машине, на которой установлен VS2012, поэтому должен быть тот факт, что мне не хватает сборки или раздела реестра. Глядя на журналы построения, в обоих случаях загружается BuildShadowTask из папок v11. Я думаю, мой вопрос меняется, возможно ли использовать частные аксессоры без установки Visual Studio 2012? И если да, то какие изменения мне нужно сделать, чтобы добиться успеха этой цели?

ответ

1

Частные устройства доступа устарели в VS2012, поэтому вы не сможете создавать частные аксессоры с использованием VS2012. В этом причина сбоя задачи с 11.0 dll. Рекомендуемым вариантом является использование класса PrivateObject или InternalsVisibleTo.

+0

Я редактировал вопрос. Похоже, что я _can_ использую MSBuild, когда на машине сборки установлена ​​Visual Studio 2012, и она использует те же сборки. Должно быть что-то еще, что мне не хватает. – Steve

Смежные вопросы