【发布时间】:2012-01-19 13:57:15
【问题描述】:
我正在使用 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>
【问题讨论】:
-
向我们提供 msbuild 代码和命令示例将有助于获得解决方案。
-
@James Woolfenden:我已经更新了代码和命令
标签: msbuild compiler-errors msbuild-4.0