Почему System.Data.OracleClient не доступен в профиле клиента .NET 4.0?
Итак, я работаю над проектом, который построен в версии 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 framework 4.0 client profile
, и я понял, что ошибки сборки и предупреждения появляются снова.
Теперь мой вопрос, почему настройка .net 4.0
работает, а не с client profile
?? Мне нужно хорошее объяснение, потому что я не эксперт в этой части.
Ответы
Ответ 1
Профиль клиента включает только подмножество всей платформы .NET, подмножество, которое должно быть достаточным для создания настольных приложений, а также упростить перераспределение .NET с вашим приложением.
Как упоминалось в блоге, представляющем профиль клиента, функция Oracle Client не включена в профиль клиента. Вероятно, это связано с тем, что Oracle Client устарел от .NET 4 (тот же выпуск, который вводит профиль клиента), и вы должны поэтапно использовать его в целом. (В любом случае, это также не подходит для включения в профиль клиента.)
Если вам нужно подключиться к Oracle из вашего приложения, вы должны либо нацелиться на полную платформу .NET, либо, желательно, использовать стороннюю библиотеку драйверов - предположительно одну, разработанную Oracle, а не Microsoft - встретиться. (В статье InfoQ об устаревании перечислены несколько альтернатив.)
Ответ 2
Перейдите на страницу свойств проекта и измените целевую структуру на .NET Framework 4
, тогда она должна работать! Профиль клиента предназначен для "малого" приложения и не устанавливает все сборки.
Ответ 3
Профиль .NET Client - это подмножество полной установки .NET, содержащего только "клиентские" peices из фреймворка. Функциональности сервера, например ASP.NET, нет. Целью этого является уменьшение размера и требований .NET Framework.
Или из MSDN:
Профиль клиента .NET Framework 4 - это подмножество .NET Framework 4, оптимизированное для клиентских приложений. Он обеспечивает функциональность большинства клиентских приложений, включая Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF) и функции ClickOnce. Это обеспечивает более быстрое развертывание и меньший пакет установки для приложений, ориентированных на профиль клиента .NET Framework 4.
Теперь причина, по которой вы не можете использовать профиль клиента, заключается в том, что поставщик .NET Oracle требует сборок помимо того, что предоставляет профиль клиента, поэтому ваше приложение не может использовать профиль клиента.