Сразу после того, как мы перешли на визуальную студию 2010 и платформу 4.0, наша сборка соединительных линий начала ломаться с ошибкой "Не удалось загрузить файл или сборку".
Мы определили, что проект 3.5 не может ссылаться на проект 4.0, иначе мы получим эту ошибку, потому что, как заявляет ошибка, эта сборка построена с помощью среды выполнения, более новой, чем текущая загруженная среда выполнения, и не может быть загружена.
Мы с тех пор разрешили это, и багажник строился нормально.
Недавно я сделал ветку и тег, и вдруг эта ошибка появилась, когда я пытаюсь построить ветвь; за исключением того, что ошибка относится к одной из наших собственных проектов проекта .net 4.0 для DLL System.Configuration.
Towps.Namespace.MyService.csproj в Core.Dev\Towps\Projetcs\Application\MyService:
RG0000: не удалось загрузить ссылку на сборку
"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0bb3f5f7f11d50a3a\System.Configuration.dll".
Caught the BadImageFormatException, в котором говорится: "Не удалось загрузить файл или сборку
'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll' или одна из его зависимостей.
Эта сборка построена с помощью среды выполнения, более новой, чем текущая загруженная среда выполнения и не может быть загружена.". в ResGen (0, 0)
Я попробовал установить для этой версии свойство конкретной версии. Reflude DLL ref для true.
Я могу увидеть в нем свойства, что версия выполнения v4.0.30319 и версия 4.0.0.0.
Путь к DLL ref - это C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\System.Configuration.dll, который для меня выглядит нормально.
Целевая структура для файла csproj, с помощью которого CrusieControl использует MSBuild для создания сборки, нацелена на платформу 4.0. Снова кажется прекрасным.
Он строит в среде IDE как для соединительной линии, так и для ветки. Круиз-контроль строит его в багажнике. Сбой сборки ветвей, когда пытается создать CrusieControl.
Любые идеи, что может произойти?
Это может быть несоответствие MSBuild, но я просмотрел файлы конфигурации и файлы projs.mbuild, которые использует CruiseControl, и нет ссылок на старые MSBuild; что имеет смысл, так как все они были обновлены, чтобы заставить работать ствол.
Ветвь была просто копией туловища, поэтому мне трудно определить, в чем может быть разница!