kupereal
@kupereal

Проблемы с изучением C# (разные операционные системы, сервера баз данных и версии фреймворка)?

Раньше практиковался на C и C++ Есть небольшой опыт со скриптовыми языками и MySQL, исключительнов в NIX среде. Задача изучить C# с учетом поддержки устаревших решений, чисто теоретически хочу пройти путь от VS 2010/15, XP/10, про БД и версии MS SQL Server пока ничего не могу сказать, но страшно даже представить) Курсирует инфа, что программа написанная на VS 2015 не запуститься на XP и что под XP максимум NET 4.5 можно установить, а современный 6-ой C# уже под версию 4.6 Или ОС вообще не имеет значения какая версия и какая разрядность процессора (например x64), а имеет значение только версия фреймворка. С БД тоже не понятно, локальная версия компилируется вместе с приложением и может использоваться на отдельной машине или нужно устанавливать локальный сервер и на машину, если корпоративное приложение тогда нужно использовать сервер БД в локальной сети. Как разобраться со всеми этими особенностями, или просто начинать с XP + VS 2010 + .NET 3.5 + SQL Server Express и так дальше повышать градус?)))
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C#
Курсирует инфа, что программа написанная на VS 2015 не запуститься на XP и что под XP максимум NET 4.5 можно установить

Не знаю, где она у вас там "курсирует", но под XP максимум устанавливается фреймворк 4.0. Это все на MSDN находится без проблем, тестируется на виртуалке для надежности.

а современный 6-ой C# уже под версию 4.6

Сейчас я вам фокус покажу. Создаем консольный проект на C#. Используем пару фич из C# 6.0:
namespace ConsoleApplication1
{
	class A
	{
		public int Test { get; set; } = 0;
	}

	class Program
	{
		static void Main(string[] args)
		{
			Console.WriteLine(nameof(Main));
		}
	}
}


Далее ретаргетим проект на .Net Framework 2.0:
67e06871538647a4a5e956d452298976.png
Удаляем сборки и using-и, недоступные во втором фреймворке (для второго это LINQ и TPL).
Компилим, запускаем, и радуемся.

Выводы:
1) под XP доступны все дотнеты до 4.0 включительно
2) версия фреймворка определяет фичи, доступные в "стандартной библиотеке", а не фичи языка. Замечу, что в 4.0 есть и LINQ и Tasks;
3) разрядность имеет значение, если ваша программа или зависимые библиотеки компилятся НЕ в AnyCPU. Иначе разницы нет.
4) с SQL сервером вообще отдельная история, не знаю при чем тут вообще .Net. Это у вас наверное мнение такое о стеке MS, что у него все туго вместе завязано и не развязывается. Это не так. Меньше слушайте бестолковых коллег, больше читайте MSDN. Поверьте, после 3-х и более лет разработки под дотнет вы все вышеуказанное расскажете наизусть даже если вас разбудить в 3 часа ночи.

корпоративное приложение тогда нужно использовать сервер БД в локальной сети

конечно, Express версия это вам для примера, чтобы можно было создать и запустить, например, веб-приложение. Почитайте про ADO.NET, это подсистема работы с реляционными СУБД, и все поймете.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Dzhamal
.NET разработчик
Если надо, чтобы работало на ХР+ - лучше всего просто взять максимально возможный стек для этой ОС, более-менее изучить, и разрабатывать проект без оглядки на современный средства. Документация по старым .NET, C#, MSSQL Server есть на MSDN в достаточном количестве.
По поводу БД - любой из перечисленных вариантов, в зависимости от требований к приложению, я лично проблем не вижу, вижу только специфику каждого из подходов(есть MSSQL, SQLite, MySQL, etc., и со всем этим можно работать из .NET).
А самый главный вопрос: зачем? Какая задача и какие требования? От этого уже можно плясать и думать, может быть корректировать требования под себя.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы