当项目以3.5为目标时,Msbuild 4.0引用System.Core 4.0?

时间:2012-03-15 06:45:12

标签: .net msbuild bamboo

Msbuild在我的计算机上工作正常,但是当我尝试使用bamboo / msbuild构建项目时,由于某种原因,它引用了.net 4.0。

DB\DbExt.cs(95,42): error CS0433: The type 'System.Func<T1,T2,TResult>' exists in both 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll' and 'c:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll' [C:\Users\Administrator\bamboo-home\xml-data\build-dir\GITEXP-GITEXPORT-JOB1\NotMissing\NotMissing\NotMissing.csproj]

我需要使用MSBuild 4.0,因为我正在使用新的编译器功能(默认参数等)。由于某些原因,即使它以3.5为目标,也会引用System.Core 4.0。

2 个答案:

答案 0 :(得分:6)

这是已知问题。 LinkLinkLinkLink

我通过从项目中删除System.Core程序集引用来修复它,我想(很久以前)。

或尝试以这种方式修改项目:

<Reference Include="System.Core">
    <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>  

答案 1 :(得分:-1)

确保项目属性的“参考路径”选项卡中没有提及任何内容。如果你想在这里提到dll的引用路径,你应该确保你添加的dll只在提到的路径中出现一次。Empty Reference Paths