Сборка смешанного режима построена на старой версии среды выполнения и не может быть загружена без дополнительной настройки - PullRequest
6 голосов
/ 03 февраля 2012

Я не могу создать проект, написанный бывшим сотрудником, на моей рабочей станции Windows 7.Он отлично работает на старой машине с XP, которую он использовал, и у меня есть точная копия.

Ошибка 1 Сборка в смешанном режиме построена на версии v2.0.50727 среды выполнения и не может быть загружена в4.0 runtime без дополнительной информации о конфигурации.C: \ Working \ Scan \ v2.5.9.99 \ ConfigurationTool \ ConfigurationTool \ SGEN ConfigurationTool

Я уже искал решение для этого сообщения об ошибке, но обнаружил, что предоставленные решения не разрешаютпроблема: (

Это мой стартовый файл конфигурации, useLegacyV2RuntimeActivationPolicy уже присутствует.

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
    <requiredRuntime version="v4.0.20506"/>
  </startup>
</configuration>

Я испробовал все предложенные комбинации, а также различные профили для полной и клиентской версий,как указано в этой теме, без результатов.

Какая «дополнительная конфигурация» необходима для ссылки на сборку смешанного режима .NET 2.0 в проекте .NET 4.0?

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

Ответы [ 3 ]

6 голосов
/ 03 февраля 2012

Только что решил, попробуйте это:

  1. Убедитесь, что если у вас более одного проекта, все они готовы для сборки .net 4 full, а не client.
  2. Если выпостоянно получая ошибку компилятора, установите для параметра «Создать сборку сериализации» значение «ВЫКЛ»
  3. . Если вы создаете плагин, и результатом вашего проекта является dll, вы должны создать файл конфигурации для этой программы (создать "INFOPATH.EXE.config")

Надеюсь, это поможет

0 голосов
/ 17 января 2014

я пробовал следующий код работает для меня, обе сборки 2 и 4 работают

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
</startup>

это может помочь

0 голосов
/ 29 января 2013

Для нас эта ветка помогла: http://social.msdn.microsoft.com/Forums/en/clr/thread/2a5bf31e-df96-4bf1-a846-699da46b62fb

«Генерация сборки сериализации» была установлена ​​на АВТО, и нам было неудобно выключать ее, если VS (в режиме выпуска) пытался ее сгенерировать. Поток сказал нам, что sgen.exe можно (и, возможно, уже следовало) передать «useLegacyV2RuntimeActivationPolicy» так же, как мы пытались это сделать в нашем собственном app.config. Довольно неясен.

...