Кроты Ссылки. Сборка .NET 4 в проекте .NET 3.5? - PullRequest
1 голос
/ 08 июня 2011

Я использую Moles в Visual Studio 2010, и работает очень хорошо. Однако в этой ситуации кроты не будут функционировать. Сборка mscorlib.Behaviors ссылается на сборку .NET 4, даже если для проекта задан профиль .NET 3.5 (полный).

У меня есть решение, изначально встроенное в .NET 4 с использованием Visual Studio 2010. Необходимые сборки (System.ServiceProcess; System.Configuration.Install) работают только с клиентским профилем .NET 4. Тестовые проекты могут иметь только .NET 4 (полный) профиль и поэтому несовместимы. Поэтому я изменил профиль платформы как целевого проекта, так и тестового проекта на .NET 3.5 (полный), так как эти сборки разрешены в этом профиле.

Ниже приведено предупреждение компилятора:

Основная ссылка "mscorlib.Behaviors, версия = 0.94.0.0, Culture = нейтрально, PublicKeyToken = 31bf3856ad364e35, «ProcessArchitecture = MSIL» не удалось быть решенным, потому что он имеет косвенный зависимость от .NET Framework сборка "mscorlib, версия = 4.0.0.0, Culture = нейтрально, PublicKeyToken = b77a5c561934e089 "который имеет более высокую версию "4.0.0.0", чем версия "2.0.0.0" в текущей целевые рамки.

Есть ли способ заставить Moles придерживаться .NET 3.5 без необходимости переносить приложение в Visual Studio 2008? Я действительно, ДЕЙСТВИТЕЛЬНО не хочу этого делать.


UPDATE:

Я считаю, что это одна и та же проблема: Я единственный, кто получает "Сборка, недоступная в текущей целевой среде"?

Ответы [ 2 ]

0 голосов
/ 20 июня 2012

На этот вопрос частично отвечает Я единственный, кто получает "Сборка, недоступная в текущей целевой среде"? Есть еще остаточные проблемы с конкретными решениями. Однако это не было проблемой с новыми решениями с момента сообщения об этой проблеме.

0 голосов
/ 10 июня 2011

Я не уверен, является ли это той же проблемой или нет, но я получал, что сборка "System.Behaviors" добавлялась в мою папку "MolesAssemblies" всякий раз, когда я выбираю "Добавить сборку молей" из ссылки "Система". Затем, когда я удалил System.Moles из своего проекта, файл System.Behavior.dll никогда не удалялся из папки «MolesAssemblies» и вызывал проблемы на сервере сборки (аналогично тому, что вы видите). Несмотря на то, что я пытался удалить ссылку System.Behaviors из ссылок проекта, каждый раз, когда я создавал этот проект, он возвращался.

Решением было убедиться, что все ссылки на System.Behavior были удалены из проекта , а также удаляет MolesAssemblies\System.Behaviors.dll. После создания проекта ссылка больше не будет отображаться.

Возможно, с тех пор, как вы перешли на .NET 3.5, этот оригинальный .NET 4.0 System.Behaviors.dll по-прежнему зависает и вызывает эти проблемы. Попробуйте удалить его (и ваши родинки ссылаются на сборки системы), а затем снова добавить сборку родинок для сборки системы.

...