2011-11-14 11 views
11

私はフレームワーク2.0の下で2005 Visual Studio 2005のビルドされているプロジェクトに取り組んでいます。今私は、バージョンの下でのVisual Studio 2010 SP1の新バージョンにプロジェクトを移動し、それらが依存関係を持つこのエラーと警告を投げている実現するために開始し、例えば.NET 4.0 Client ProfileでSystem.Data.OracleClientを使用できないのはなぜですか?

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". 

は私のアプリケーションはdoesnのという結果をもたらします私が追加した参照を読み上げるのではなく、フレームワークを変更する。 .Net framework 4.0問題は解決しました。テスト私はそれらを.net framework 4.0 client profileに変更し、ビルドのエラーと警告が再び現れることを認識しました。

私の質問では、.net 4.0を設定して、client profileで設定していないのはなぜですか?私はこの部分の専門家ではないので、良い説明が必要です。

+0

重複http://stackoverflow.com/questions/2759228/difference-between-net4-client-profile-and-full-framework-download – ChrisBint

答えて

11

クライアントプロファイルには、デスクトップアプリケーションを作成するのに十分なサブセットである.NET Framework全体のサブセットのみが含まれていますが、アプリケーションと共に.NETを簡単に再配布できます。

a blog post introducing the Client Profileで説明したように、Oracleクライアント機能はクライアントプロファイルには含まれていません。これはおそらくOracle Client is deprecated as of .NET 4(クライアントプロファイルを導入した同じリリース)であり、これをすべて使用して段階的に廃止する必要があるからです。いずれにしてもクライアントプロファイルに含めるのはおそらく適切ではありません。

アプリケーションからOracleに接続する必要がある場合は、完全な.NETフレームワークをターゲットにするか、またはサードパーティのドライバライブラリおそらくMicrosoftによって開発されたものではなく、Oracleによって開発されたものであろう。 (InfoQ article about the deprecationにはいくつかの選択肢がリストされています)。

9

プロジェクトのプロパティページに移動し、ターゲットフレームワークを.NET Framework 4に変更してください。クライアントプロファイルは「小規模」アプリケーション用であり、すべてのアセンブリをインストールするわけではありません。

+2

これは私のために働いた:)ありがとう! – user219628

2

.NETクライアントプロファイルは、フレームワークの「クライアント」ピースのみを含む.NETの完全インストールのサブセットです。 ASP.NETのようなサーバー機能は存在しません。これの目的は、.NET Frameworkのサイズと要件を削減することです。

またはMSDNから:

.NET Framework 4のクライアントプロファイルは、クライアントアプリケーション用に最適化され、.NET Framework 4のサブセットです。 Windows Presentation Foundation(WPF)、Windowsフォーム、Windows Communication Foundation(WCF)、およびClickOnce機能を含むほとんどのクライアントアプリケーションに機能を提供します。これにより、.NET Framework 4 Client Profileを対象とするアプリケーションの展開時間を短縮し、インストールパッケージを小さくすることができます。

クライアントプロファイルを使用できない理由は、.NET Oracle Providerにはクライアントプロファイルが提供する以上のアセンブリが必要なため、アプリケーションでクライアントプロファイルを使用できないためです。

関連する問題