如何从解决方案中删除Microsoft.CodeContracts引用?

时间:2011-04-12 14:54:24

标签: visual-studio-2010 reference code-contracts .net-assembly

A有一个大型Web服务解决方案(用C#编写的.NET 3.5),它由16个单独的项目组成(许多类库,一些Web应用程序和安装项目)。它是在visual studio 2010中开发的。

我最近在尝试使用Microsoft.CodeContracts,经过评估后认定它不适合我的需求。我删除了引用它的所有代码,并从引用它的所有项目中删除了程序集引用。

但是我的Web服务现在已经开始随机返回此错误消息:

"Could not load file or assembly 'Microsoft.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=736440c9b414ea16' or one of its dependencies. The system cannot find the file specified."

当我删除所有代码时,它如何/为什么还在尝试加载该程序集?引用它?

在进一步调查时,我仍然发现Microsoft.Contracts.dll出现在我的Web应用程序的/ bin /文件夹中,即使没有项目引用它。它也被列为我的安装项目中的“检测到的依赖项” - 但我100%确定我的项目没有使用它!

这让我绝对疯狂 - 显然有些东西潜伏在那些拿着参考。如何从我的解决方案中删除所有跟踪的Microsoft.CodeContracts?

1 个答案:

答案 0 :(得分:3)

CSharp项目文件中有许多以CodeContracts开头的XML元素。

如果您认为需要,请将其删除。

您将拥有与配置一样多的部分{Release,Debug} x {Any CPU,Mixed Platforms} = 4.对解决方案中的每个* .csproj文件执行此操作。

请记住,CodeContracts会有条件地生成/编织代码,因此您的应用可能会有不同的行为。