Visual Studio:为什么目标框架设置会导致忘记引用?

时间:2011-04-06 19:05:07

标签: visual-studio reference

今天早上我被Visual Studio 2010中看起来像一个非常讨厌的错误的东西咬了一口。我提到了另一个VS会忘记的组件。每个解决方案构建后。如果我删除了引用然后将其添加回来,则引用将被识别......直到下一次构建。

我认为我的解决方案存在问题的时间太长了。在经过多次撕裂之后,我在网上搜索并找到了以下链接,它解决了问题:http://robfine.com/aspnet/ReferenceRemovedBuildVisualStudio2010,但我很好奇为什么目标框架设置中的不匹配会导致这种行为。而且,更重要的是,它如何在VS2010 SP1中修复:)。

2 个答案:

答案 0 :(得分:3)

这是一个缺陷,当您引用无法在运行时工作的程序集时,IDE不会大声喊叫。问题是此程序集与客户端配置文件中不可用的另一个框架程序集间接依赖。通常是system.web.dll。

它通常在装配参考上放置一个警告图标。但是,这很容易被忽略,你必须扩展References节点。并且有足够的程序员被它咬过来给VS2010一些信任而根本没有提出这个图标。我猜这种情况发生在这种程序集中的类型没有用于任何公开可见的类方法或属性时。编译错误确实很糟糕。

整个事情有点混乱,客户端配置文件安装仅比完整版小15%。首先有一个4.0是一个错误。是的,SP1中没有任何改变。

嗯,这就是为什么像SO这样的Q + A网站存在的原因。

答案 1 :(得分:0)

如果我理解正确,你的问题可能是因为你引用了一个针对.NET框架的新版本而不是项目的dll。如果您有.NET 3.0项目,则只能引用针对.NET 3.0及更低版本构建的程序集。你不能引用那些以3.5或4.0为目标的那些。

也许你可以详细说明这个问题,以便更精确地确定问题。

希望这有帮助