引用IBM.Data.DB2中的代码使得程序集不可用于我的其余解决方案
我有一个带有三个程序集的C#控制台应用程序: Main
, Common
和Utilities
。
在Main
集Main.cs
的文件中,我有一行:
using Utilities;
在Common
程序IBM.Data.DB2.dll
的目录中,我有DLL IBM.Data.DB2.dll
。
在Utilities
集中,我有一个访问所述dll的源模块。 实用程序具有对IBM.Data.DB2
的引用。 在这个程序Util.cs
的源文件Util.cs
,我有一行:
using IBM.Data.DB2;
如果在此文件的方法中,我对DB2程序集中的代码进行任何引用,如:
DbConnection c = new DB2Connection( _connectString );
我收到一个错误,编译Main
集,指出无法找到名称空间名称Utilities
。 无论有没有线路, Utilities
编译都很好。 如果我注释掉上面这一行,那么一切都很好。
一位乐于助人的同事过来了,并在五秒钟内为我解决了这个问题。
事实certificate,默认情况下,在VS 2010中创建新的Console应用程序时,它会获得“.NET Framework 4 Client Profile”的目标框架。 将其更改为“.NET Framework 4”会使问题消失。
在VS 2013中处理类似的问题。我检查了客户端配置文件构建版本,一切看起来都很好,我终于意识到我需要右键单击References选项卡,将我已包含的项目添加到我的解决方案References中。 我这样做了,一切都点了!