我为什么在使用框架4.0时无法在System.Configuration DLL上加载文件或程序集错误?

top*_*wik 18 cruisecontrol.net dll assemblies .net-4.0

在我们升级到visual studio 2010和4.0框架后,我们的主干构建立即开始打破无法加载文件或程序集错误.

我们确定了一个3.5的项目不能引用4.0其他项目因为,作为错误状态,我们会得到这个错误该组件由运行时比当前加载的运行新建成并无法加载.

我们已经解决了这个问题,后备箱一直很好.

然而,我最近做了一个分支和标记,当我尝试构建分支时,突然出现了这个错误; 除了错误是关于我们自己的.net 4.0项目对System.Configuration DLL的引用之一.

Towps.Namespace.MyService.csproj在Core.Dev\Towps\Projetcs \应用\为MyService:
RG0000:无法加载引用的程序集

"C:\ WINDOWS\Microsoft.Net \装配\ GAC_MSIL\System.Configuration\v4.0_4.0.0 .0__b03f5f7f11d50a3a\System.Configuration.dll".
抓到一个BadImageFormatException说:"无法加载文件或程序集
'C:\ WINDOWS\Microsoft.Net \装配\ GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'.或者它的一个依赖
此程序集由比当前加载的运行时更新的运行时构建,无法加载." 在ResGen(0,0)

我尝试在该系统上设置特定的版本属性.配置DLL引用为true.
我可以在其属性中看到运行时版本是v4.0.30319,版本是4.0.0.0.
该DLL裁判的路径是C:\ Program Files文件(x86)的\参考大会\微软\ Framework.NETFramework\V4.0\System.Configuration.dll这对我来说看起来不错.

CrusieControl使用MSBuild尝试构建的csproj文件的目标框架是针对框架4.0.再好像.

它构建在IDE中,用于主干和分支.Cruise Control在后备箱中构建它.当CrusieControl尝试构建时,分支构建失败.

有什么想法会发生什么?

这可能是一个MSBuild不匹配,但我已经扫描的配置文件和CruiseControl的使用并有年长MSBuilds没有引用的MSBuild PROJ文件; 这是有道理的,因为所有这些都更新,以使主干工作.

分支只是一个主干的副本,所以我很难确定可能有什么区别!

top*_*wik 4

事实证明,在我分支后,cc.net 使用的分支构建目录中的所有 .proj 文件都恢复为使用 ToolVerison="3.5"。我以为我已将所有 ToolsVersion="4.0" 项目和配置更改提交到我创建分支的主干;显然不是。