Я использую Msbuild 4.0.
В нашем проекте немногие решения имеют проекты .net 3.5.
Когда я компилирую его в Visual Studio, он работает.Если я собираю то же самое с помощью Msbuild, это не удается.
Ниже приведена проблема компиляции:
ошибка: компиляция не удалась.Невозможно загрузить один или несколько запрошенных типов.Получите свойство LoaderExceptions для получения дополнительной информации.Исключение из HRESULT: 0x80131515
Даже я пытался изменить
версию инструментов на 3,5
через дополнительные свойства элемента.[Я использую задачу Msbuild для построения своего решения]
Наша задача Msbuild выглядит следующим образом.
<Target Name="BuildDotNETSolutions" Condition="'$(Group)' != ''" DependsOnTargets="Init;GetNextVersionNumber">
<!-- Complie solutions -->
<!-- Version property is useful for changing the Wix Msi version-->
<MSBuild Projects="@(Solution)" BuildInParallel="true"
Properties="Configuration=$(Configuration);PostbuildEvent=;Version=$(BuildNextVersionNumber)"
Condition="'%(Solution.Group)' == '$(Group)' And '%(Solution.Type)' == 'DotNET' And '%(Solution.IsRebuild)'=='$(IsRebuild)'">
<Output
TaskParameter="TargetOutputs"
ItemName="BuildOutputs" />
</MSBuild>
Мы передаем решения через файл свойств, как показано ниже
<Solution Include="$(Implementation)\MultiEvent.csproj;">
<Group>Event</Group>
<AdditionalProperties>
ReferencePath=$(Implementation)\References;
ToolsVersion=3.5;
</AdditionalProperties>
<IsRebuild>True</IsRebuild>
<Type>DotNET</Type>
</Solution>