Невозможно добавить 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 4

2 ответа:

Я обратился в службу поддержки MSDN напрямую, чтобы попытаться получить исправление для этой проблемы. Они смогли воспроизвести эту проблему в Visual Studio 2008 и 2010. Исправления нет, но есть относительно простое исправление, которое можно сделать, изменив настройки вашего проекта.

  1. добавьте ссылку на стороннюю библиотеку DLL (Rhino.Издевается.dll) в проект и игнорировать предупреждение, нажав кнопку "Да".
  2. щелкните ссылку на проект и в окне свойств измените "конкретную версию" проекта. Носорог.Издевается над "правдой".
  3. щелкните правой кнопкой мыши узел project в обозревателе решений в Visual Studio 2010 и выберите "выгрузить проект".
  4. щелкните правой кнопкой мыши на узле проекта и выберите "Редактировать имя вашего проекта здесь".
  5. после строки, начинающейся с <Reference Include="Rhino.Mocks, ...">, добавьте следующую строку: <SpecificVersion>True</SpecificVersion>.
  6. перезагрузите проект, щелкнув правой кнопкой мыши узел проекта и выбрав "перезагрузить".
  7. перестройте свой проект.
Это сработало для меня.

Я только что столкнулся с этой проблемой. После небольшого поиска я нашел этот пост от Криса Мэя (Спасибо Крис!)

Я предполагаю, что существует конфликт между статическим методом и методом расширения с именем "Expect".

Согласно сообщению, я полностью квалифицировал метод expects, и он исправил проблему №1. Затем, изменив проблему <SpecificVersion />, исправил другие проблемы сборки, которые у меня были.