由于System.Web冲突,C#.NET DLL无法构建

时间:2011-02-01 21:54:32

标签: c# .net visual-studio-2010

我在Visual Studio C#Express 2010中遇到了类库的问题。该项目配置了.NET 4.0的目标框架(不是客户端配置文件)。

在我的类库中,我添加了对System.Web的引用,以使URL编码适用于我的oAuth库。

在构建DLL和相关的测试应用程序时,我收到以下错误:

Error   1   The type or namespace name 'TwitterAPI' could not be found (are you missing a using directive or an assembly reference?)    C:\Users\sammarks\Documents\Programming\Twitter.NET\Tester\Program.cs   5   7   Tester

并且,我收到以下警告信息:

Warning 2   The referenced assembly "C:\Users\sammarks\Documents\Programming\Twitter.NET\TwitterAPI\bin\Release\TwitterAPI.dll" could not be resolved because it has a dependency on "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project.   Tester

我不确定为什么会这样做,但这就是我来到这里的原因。我已经尝试将类库重新定位到3.5,但这并没有做什么,只是把它搞得更糟。

我还尝试将System.Web重新添加到引用中,但这也没有帮助。

有什么建议吗?

3 个答案:

答案 0 :(得分:9)

定位完整 .NET Framework 4.0以访问System.Web(客户端配置文件):

enter image description here

答案 1 :(得分:1)

看起来您的类库具有对客户端配置文件的引用,而您的测试可执行文件引用了非客户端配置文件。我从警告中收集到了这一点:

...currently targeted framework ".NETFramework,Version=v4.0,Profile=Client ...

答案 2 :(得分:0)

可能听起来很傻,但你试过重启Visual Studio吗?

有时候会错过一两个参考。