Сборка команды, сборка SGen и смешанный режим - PullRequest
10 голосов
/ 20 сентября 2010

Немного странно, ребята.

У нас есть довольно сложное (111 проектов, распределенных по asp.net, silverlight, WFC, Ria Services и т. Д.) Решение, которое корректно основано на моем устройстве dev (2010).).Если я запускаю VS на нашей сборочной машине, я также могу правильно построить решение.Однако, когда я ставлю в очередь сборку, она почти проходит ее до тех пор, пока не попытается запустить SGen - в этот момент я получаю старую сборку "Смешанный режим", созданную для версии "v2.0.50727" среды выполнения и не может быть загружена в4.0 runtime без дополнительной информации о конфигурации. "каштан.

Я гуглил, чтобы попытаться найти решение, но, похоже, ничего не делает эту работу - ошибка возникает во время компиляции, а не во время выполнения, и я добавил ключ активации v2 в сборку командыКонфигурационный файл хоста не имеет никакого эффекта.В решении нет тестов, которые могли бы вызвать загрузку.

Есть идеи?Кто-нибудь?Особенно смущает, что VS может нормально работать на сервере, но сборка команды не удалась.

1 Ответ

18 голосов
/ 14 октября 2010

У меня сработал следующий трюк ( ref. )

Изменить (или создать, если он не существует) sgen.exe.config , который должен находиться в:

  • C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\

или в ОС x64:

  • C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\

Затем добавьте:

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

Насколько я понимаю, добавления того же фрагмента в app.config проекта может быть недостаточно, так как он не читается инструментом sgen : (

...