所以我正在一个项目中建立在版本visual studio 2005框架2.0下.现在我将该项目移植到版本下的visual studio 2010 sp1的新版本,并开始意识到这些错误和警告与依赖关系相关,例如
Warning 1 could not be resolved because it has a dependency on "System.Data.OracleClient,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client".
给我带来的结果是,应用程序没有读取我添加的引用,而是改变框架. .NET Framework 4.0的问题解决了.测试我更改为.net框架4.0客户端配置文件,我意识到构建错误和警告再次出现.
现在我的问题是为什么设置.net 4.0工作,而不是与客户端配置文件?我需要一个很好的解释,因为我不是这方面的专家.
解决方法
客户端配置文件仅包含整个.NET框架的一个子集,这个子集应该足以构建桌面应用程序,同时使应用程序更容易重新分发.NET.
如a blog post introducing the Client Profile所述,Oracle客户端功能不包括在客户端配置文件中.这可能是因为Oracle Client is deprecated as of .NET 4(引入客户端配置文件的相同版本),您应该逐步淘汰使用它. (也可能不太适合纳入客户档案).
如果您需要从应用程序连接到Oracle,那么您应该使用完整的.NET框架,或者最好使用第三方驱动程序库(可能是由Oracle开发而不是由Microsoft开发的),这将保持最新. (InfoQ article about the deprecation列出了几种替代方案)