Невозможно добавить Rhino Mocks 3.5 к a.NET проект 2.0 в Visual Studio 2010
Мы переходим с Dev Studio 2005 на Dev Studio 2010. Я открыл свое решение 2005 года в Visual Studio 2010 и прошел через процесс преобразования, сохраняя все проекты, ориентированные на .NET 2.0. Когда я пытаюсь построить проект, мои ссылки на Rhino.Издевается.dll не удается использовать. Я вижу такие ошибки:
DalDiscoveryTest.cs (7,7): ошибка CS0246: не удалось найти тип или имя пространства имен "Rhino" (отсутствует директива using или сборка ссылка?)
Я вошел в свой проект и удалил ссылку на Rhino.Издевается.dll и попытался повторно добавить его. Затем я получаю диалог, который читает:
' носорог.Издевается.dll ' или одна из ее зависимостей требует более поздней версии платформы .NET Framework, чем та, которая указана в проекте. Вы можете изменить целевой объект .NET Framework, щелкнув свойства в меню проект и выбрав новый целевой объект в раскрывающемся списке ".NET Framework". ...
Я использую "Rhino Mocks 3.5 для .NET 2.0" доступно по адресу http://www.ayende.com/projects/rhino-mocks/downloads.aspx . этот проект прекрасно строится в Dev Studio 2005 с использованием .NET 2.0. Единственная проблема, которую я нашел, - это изменение целевого объекта тестовых проектов на .NET 3.5, но я хочу минимизировать изменения изначально.
Есть ли какой-либо способ обойти эту проблему, кроме изменения целевого объекта на более новую версию .NET?
2 ответа:
Я обратился в службу поддержки MSDN напрямую, чтобы попытаться получить исправление для этой проблемы. Они смогли воспроизвести эту проблему в Visual Studio 2008 и 2010. Исправления нет, но есть относительно простое исправление, которое можно сделать, изменив настройки вашего проекта.
Это сработало для меня.
- добавьте ссылку на стороннюю библиотеку DLL (Rhino.Издевается.dll) в проект и игнорировать предупреждение, нажав кнопку "Да".
- щелкните ссылку на проект и в окне свойств измените "конкретную версию" проекта. Носорог.Издевается над "правдой".
- щелкните правой кнопкой мыши узел project в обозревателе решений в Visual Studio 2010 и выберите "выгрузить проект".
- щелкните правой кнопкой мыши на узле проекта и выберите "Редактировать имя вашего проекта здесь".
- после строки, начинающейся с
<Reference Include="Rhino.Mocks, ...">
, добавьте следующую строку:<SpecificVersion>True</SpecificVersion>
.- перезагрузите проект, щелкнув правой кнопкой мыши узел проекта и выбрав "перезагрузить".
- перестройте свой проект.
Я только что столкнулся с этой проблемой. После небольшого поиска я нашел этот пост от Криса Мэя (Спасибо Крис!)
Я предполагаю, что существует конфликт между статическим методом и методом расширения с именем "Expect".
Согласно сообщению, я полностью квалифицировал метод expects, и он исправил проблему №1. Затем, изменив проблему
<SpecificVersion />
, исправил другие проблемы сборки, которые у меня были.