Как установить net core на visual studio 2015
Задача: обеспечить работу системы на Linux без потери в производительности с минимальными телодвижениями.
Напрашиваются 3 варианта решения задачи:
Что не так с Mono
Хоть и технология появилась давно и успешно используется (например, в Xamarin) есть несколько сомнений насчет дальнейшего развития Mono:
Миграция проектных файлов
Появится project.json, из него нужно удалить строку про emitEntryPoint, если сборка не содержит метода Main. Далее, создаем пустой sln-файл, добавляем в него project.json файлы, как проекты. В каждый project.json следует прописать зависимости на проекты (раздел dependencies), пробуем скомпилировать. Если ошибок компиляции нет — поздравляю. Единственная проблема, что старый солюшен с csproj-проектами перестанет работать, чтобы оба проекта работали side by side есть решение. Выглядит довольно странно, но работает.
Что не будет работать
В нашем приложении столкнулись со следующими проблемами:
- app.config — Разработчики corefx отказались от устаревшего API работы с конфигурационными файлами. Теперь конфигурации рекомендуется хранить в json файле.
- PerformanceCounter — Windows специфика, для использования не на Windows платформе следует искать какую-то альтернативу.
- DataSet, DataTable — считается устаревшими API.
- LCID у CultureInfo — у культуры теперь нет свойства LCID, CultureInfo теперь можно создать только по имени.
- Свойство Assembly у экземпляра Type — чтобы получить описание сборки у типа необходимо использовать метод-расширение GetTypeInfo(). Ломает совместимость с текущим кодом, особенно в ресурсных файлах.
- MachineKey — Windows специфика, нет возможности получить уникальный идентификатор текущей машины.
- Thread.SetData, Thread.GetData — добавят во второй версии стандарта.
Остались еще большие проблемы: аутентификация пользователей (раньше это делал IIS) и какую библиотеку использовать для управления правами доступа, интеграции с LDAP.
Первую проблему можно решить поставив перед нашим приложением Apache с необходимым расширением и включив reverse proxy. Библиотеку для управления ACL еще не нашли.
Выводы
Getting Started
New Project Types
Once all the Visual Studio tooling is installed you can use the New Project wizard to create your project (see Figure 1).
Obviously, each project type generates a different set of files, as shown in Figure 2.
Figure 2 The Files Included in Each Visual Studio Project Type
Figure 3 Debug Tab on the Project Properties Window of Visual Studio
Figure 4 shows a sample launchSettings.json file.
Figure 4 Sample launchSettings.json File
Project.lock.json stores a list of the files (usually NuGet references) needed for compilation. It includes specific package version numbers, unlike the project.json file, which supports wildcards. Without project.lock.json, an entire restore of packages will occur. Project.lock.json includes a package graph along with other data related to packages that have been downloaded locally (restored). Generally, this file isn’t checked in and, when it doesn’t exist, it’s recreated by running a NuGet package restore. This file is listed as a child of project.json within Visual Studio.
ClassLibrary.xproj is the MSBuild file that, out of the box, defines what will happen when you build the project. The latest version imports Microsoft.DotNet.targets, which defines build tasks that leverage the new DotNet.exe command. Unlike MSBuild proj files in the past, xproj files are surprisingly small because much of the information has moved (for the moment) into project.json.
Program.cs defines a Program class that includes the definition of the Main entry point for your application—even for Web applications.
Web.config provides a minimal configuration for IIS, instructing it where to find the Web host process and configuring that all traffic is redirected to this process, as shown in the following code:
More on Project.json
These three tasks are spread across four main sections within project.json (I combine runtimes and supports as the functionality overlaps, depending on the project type):
Dependencies: This section lists each of the NuGet packages on which your project depends, including the version number of said dependencies. Version numbers can be specified with wild cards so you can allow “the most recent version” that matches the wild card to be downloaded automatically by the NuGet Package Manager restore. A pair of empty quotes for the version number says, “Use the latest available.” Furthermore, while you can add references via the Visual Studio NuGet Package Manager window, you can also rely on the way Visual Studio asynchronously loads IntelliSense with the packages available from your configured package source or feed (see Figure 5). The IntelliSense works for both the package name and the version number.
Figure 5 IntelliSense Dynamically Loads with the List of Available Packages and Versions
In contrast, the supports section identifies for portable apps the runtime dependencies an app will look for when it starts up—any one of which will be sufficient. The list isn’t restrictive (you may be able to run elsewhere), but a supports element will cause NuGet to check that all dependencies are satisfied.
Debugging Package Source Code
One of the features I’m most excited about is the new support for debugging and stepping into packages, and even modifying the source code of the packages if it’s available. Suppose, for example, you have a company-wide “Framework” assembly that’s shared among numerous teams. However, the Framework package is essentially open source, such that anyone within the company (or, even better, outside the company) can contribute improvements and changes. Now, imagine if you reference the NuGet package for this Framework but at some point suspect there might be a bug that needs fixing or perhaps an enhancement is warranted. Normally, this requires working with the source code from the component independently of your project/solution. What if, instead, you were able to download the source code and update it as an integrated experience alongside your main development—even stepping into the code without relying on a symbol server or PDB files being available? Fortunately, this is a key scenario enabled in Visual Studio 2015.
For example, imagine you want to debug the Microsoft.Extensions.Logging package, which is available on GitHub. To add and debug it within your project, you want to download (perhaps using the git clone or git submodule command) the source code. Next, in order for Visual Studio to know where to find the source code, you need to edit the global.json project node, for example, adding “submodules\Logging” to the list of directories it watches:
You can, of course, provide the full path (if, for example, you didn’t clone the code into a subdirectory). However, note that the directory separator is either two back slashes (\\) or a single forward slash (for example, c:/users/mark/documents/visual studio2015/Projects/Microsoft.Extensions.Logging).
Once Visual Studio successfully finds the source code after global.json is updated and saved, it will automatically add the project to your solution such that you can then debug into the source code.
A fairly naïve algorithm is used to determine which source code directory to load:
- If any of the source code locations specified in global.json contains a folder with the same name as the package (such as Microsoft.Extensions.Logging) and that folder contains a file named project.json, the debugger will use that folder and the source files inside it.
- Otherwise, the compiled binary from the packages folder is loaded.
Wrapping Up
Thanks to the following IntelliTect technical experts for reviewing this article: Kevin Bost
Поддерживаемые выпуски
Даты окончания жизненного цикла версий Windows 10 зависят от выпуска. В следующей таблице рассматриваются только выпуски Домашняя, Профессиональная, Pro для образовательных учреждений и Pro для рабочих станций. Дополнительные сведения см. в справочных материалах по жизненному циклу поддержки Windows.
Символ + представляет минимальную версию.
Неподдерживаемые выпуски
Сведения о среде выполнения
В Windows можно установить три различные версии среды выполнения:
Сведения о пакете SDK
Компьютеры Windows на базе ARM
Поддерживаемые функции
Различия в путях
Конфликты путей
Переменные пути
Зависимости
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Windows 11 | 21H2 | x64, ARM64 |
Клиент Windows 10 | 1607+ | x64, x86, ARM64 |
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Windows Server | 2012+ | x64, x86 |
Windows Server Core | 2012+ | x64, x86 |
Nano Server | 1809+ | X64 |
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Windows 11 | 21H2 | x64, ARM64 |
Клиент Windows 10 | 1607+ | x64, x86, ARM64 |
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Windows Server | 2012+ | x64, x86 |
Windows Server Core | 2012+ | x64, x86 |
Nano Server | 1809+ | X64 |
Символ + представляет минимальную версию. Конкретные требования к версии ОС см. в разделе Поддерживаемые выпуски.
Операционная система | Version | Архитектуры |
---|---|---|
Windows 11 | 21H2 | x64, ARM64 |
Клиент Windows 10 | 1607+ | x64, x86 |
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Windows Server | 2012+ | x64, x86 |
Nano Server | 1803+ | x64, ARM32 |
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Клиент Windows 10 | Версия 1607+ | x64, x86 |
Windows Server | 2012 R2+ | x64, x86 |
Nano Server | Версия 1803+ | x64, ARM32 |
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Клиент Windows 10 | Версия 1607+ | x64, x86 |
Windows Server | 2008 R2 с пакетом обновления 1 или более поздней версии (SP1+) | x64, x86 |
Nano Server | Версия 1803+ | x64, ARM32 |
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Клиент Windows 10 | Версия 1607+ | x64, x86 |
Windows Server | 2008 R2 с пакетом обновления 1 или более поздней версии (SP1+) | x64, x86 |
Nano Server | Версия 1803+ | x64, |
Автономная установка для Windows 7
Обязательно ознакомьтесь с зависимостями ниже, необходимыми для Windows 7.
Windows 7 / Vista / 8.1 / Server 2008 R2 / Server 2012 R2
Приведенные выше требования также применяются, если возникает ошибка, связанная с любой из следующих библиотек DLL:
- api-ms-win-crt-runtime-l1-1-0.dll
- api-ms-win-cor-timezone-l1-1-0.dll
- hostfxr.dll
Установка с помощью функции автоматизации PowerShell
Сценарии dotnet-install используются для автоматизации непрерывной интеграции и ее осуществления без прав администратора. Вы можете скачать сценарий со страницы справочника по сценариям dotnet-install.
Установите пакет SDK, опустив параметр -Runtime . В этом примере для параметра -Channel задано значение Current , которое определяет установку последней поддерживаемой версии.
Установка с помощью Visual Studio
Если среда Visual Studio уже установлена, вы можете проверить ее версию, выполнив указанные ниже действия.
- Запустите Visual Studio.
- Выберите Справка>О Microsoft Visual Studio.
- Считайте номер версии из диалогового окна О программе.
Выбор рабочей нагрузки
При установке или изменении Visual Studio выберите одну или несколько из следующих рабочих нагрузок в зависимости от типа создаваемого приложения:
- рабочая нагрузка Кроссплатформенная разработка .NET Core в разделе Другие наборы инструментов;
- Рабочая нагрузка ASP.NET и веб-разработки в разделе "Веб-облако&".
- Рабочая нагрузка разработки Azure в разделе "Веб-облако&".
- Рабочая нагрузка разработки классических приложений .NET в разделе "Мобильный компьютер&".
Установка вместе с Visual Studio Code
Visual Studio Code — это эффективный и облегченный редактор исходного кода, который работает на компьютере. Visual Studio Code доступен для Windows, macOS и Linux.
Установщик Windows
/quiet
Предотвращает отображение любого пользовательского интерфейса и запросов.
/norestart
Предотвращает все попытки перезапуска.
В случае успешной установки установщик возвращает код 0; если требуется перезагрузка, установщик возвращает код 3010. Любое другое значение обычно является кодом ошибки.
Скачивание и установка вручную
Такой подход позволяет установить несколько версий в отдельные расположения, а затем явно выбрать расположение установки, которое должно использовать приложение, запустив приложение с переменными среды, указывающими на это расположение.
Docker
Контейнеры обеспечивают простой способ изоляции приложения от остальной части основной системы. Контейнеры на одном компьютере совместно использую только ядро, а также используют ресурсы, которые передаются в приложение.
Устранение неполадок
Убедитесь, что установлены обе версии, выполнив where.exe dotnet команду. В этом случае вы увидите запись для папок Program Files\ и Program Files (x86)\ . Если папка Program Files (x86)\ в первую очередь указана в следующем примере, это неправильно, и вы должны перейти к следующему шагу.
Откроется окно "Свойства системы " на вкладке "Дополнительно". Выберите переменные среды.
В окне "Переменные среды " в группе "Системные переменные " выберите строку Path*, а затем нажмите кнопку "Изменить ".
Используйте кнопки перемещения вверх и вниз , чтобы переместить запись C:\Program Files\dotnet\ над C:\Program Files (x86)\dotnet\.
Поддерживаемые выпуски
Даты окончания жизненного цикла версий Windows 10 зависят от выпуска. В следующей таблице рассматриваются только выпуски Домашняя, Профессиональная, Pro для образовательных учреждений и Pro для рабочих станций. Дополнительные сведения см. в справочных материалах по жизненному циклу поддержки Windows.
Символ + представляет минимальную версию.
Неподдерживаемые выпуски
Сведения о среде выполнения
В Windows можно установить три различные версии среды выполнения:
Сведения о пакете SDK
Зависимости
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Windows 11 | 21H2 | x64, ARM64 |
Клиент Windows 10 | 1607+ | x64, x86, ARM64 |
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Windows Server | 2012+ | x64, x86 |
Windows Server Core | 2012+ | x64, x86 |
Nano Server | 1809+ | X64 |
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Windows 11 | 21H2 | x64, ARM64 |
Клиент Windows 10 | 1607+ | x64, x86 |
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Windows Server | 2012+ | x64, x86 |
Nano Server | 1803+ | x64, ARM32 |
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Клиент Windows 10 | Версия 1607+ | x64, x86 |
Windows Server | 2012 R2+ | x64, x86 |
Nano Server | Версия 1803+ | x64, ARM32 |
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Клиент Windows 10 | Версия 1607+ | x64, x86 |
Windows Server | 2008 R2 с пакетом обновления 1 или более поздней версии (SP1+) | x64, x86 |
Nano Server | Версия 1803+ | x64, ARM32 |
Символ + представляет минимальную версию.
Операционная система | Version | Архитектуры |
---|---|---|
Клиент Windows | 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 | x64, x86 |
Клиент Windows 10 | Версия 1607+ | x64, x86 |
Windows Server | 2008 R2 с пакетом обновления 1 или более поздней версии (SP1+) | x64, x86 |
Nano Server | Версия 1803+ | x64, |
Автономная установка для Windows 7
Обязательно ознакомьтесь с зависимостями ниже, необходимыми для Windows 7.
Windows 7 / Vista / 8.1 / Server 2008 R2 / Server 2012 R2
Приведенные выше требования также применяются, если возникает ошибка, связанная с любой из следующих библиотек DLL:
- api-ms-win-crt-runtime-l1-1-0.dll
- api-ms-win-cor-timezone-l1-1-0.dll
- hostfxr.dll
Установка с помощью функции автоматизации PowerShell
Сценарии dotnet-install используются для автоматизации непрерывной интеграции и ее осуществления без прав администратора. Вы можете скачать сценарий со страницы справочника по сценариям dotnet-install.
Установите пакет SDK, опустив параметр -Runtime . В этом примере для параметра -Channel задано значение Current , которое определяет установку последней поддерживаемой версии.
Установка с помощью Visual Studio
Если среда Visual Studio уже установлена, вы можете проверить ее версию, выполнив указанные ниже действия.
- Запустите Visual Studio.
- Выберите Справка >О Microsoft Visual Studio.
- Считайте номер версии из диалогового окна О программе.
Выбор рабочей нагрузки
При установке или изменении Visual Studio выберите одну или несколько из следующих рабочих нагрузок в зависимости от типа создаваемого приложения:
Установка вместе с Visual Studio Code
Visual Studio Code — это эффективный и облегченный редактор исходного кода, который работает на компьютере. Visual Studio Code доступен для Windows, macOS и Linux.
Установщик Windows
/quiet
Предотвращает отображение любого пользовательского интерфейса и запросов.
norestart
Предотвращает все попытки перезапуска.
В случае успешной установки установщик возвращает код 0; если требуется перезагрузка, установщик возвращает код 3010. Любое другое значение обычно является кодом ошибки.
Скачивание и установка вручную
Такой подход позволяет установить несколько версий в отдельные расположения, а затем явно выбрать расположение установки, которое должно использовать приложение, запустив приложение с переменными среды, указывающими на это расположение.
Docker
Контейнеры обеспечивают простой способ изоляции приложения от остальной части основной системы. Контейнеры на одном компьютере совместно использую только ядро, а также используют ресурсы, которые передаются в приложение.
6 Answers 6
You need to install the latest preview of Visual Studio 2019 16.8, refer to
You also need to explicitly enable preview versions within Visual Studio itself:
Then you should see it:
Specs: VS Version 16.8.0
Но я хотел бы знать, добавить ли этот фреймворк в проект, созданный на Visual Studio 2019 16.8.0.
- Я запустил установщик VS и искал новую структуру, но не могу ее найти
- Я уже открыл: Проект -> Свойства -> Целевая платформа.
Как я могу добавить новую платформу в целевые платформы в Visual Studio 2019?
Обновить:
Кто-нибудь может мне это объяснить?
Приведенное выше руководство по миграции предлагает несколько подходов для достижения каждого шага.
Эта статья взята из Интернета, укажите источник при перепечатке.
Подготовка среды разработки
1. Установите текущую версию пакета Azure SDK для Visual Studio 2015. При его установке также устанавливается Visual Studio 2015 (если это не было сделано ранее).
Примечание: установка пакета SDK может длиться более 30 минут, если потребуется установка большого количества дополнительных компонентов.
Создание веб-приложения
На стартовой странице Visual Studio нажмите New Project…
Новый проект также можно создать при помощи меню. Выберите пункт File > New > Project…
Выберите тип проекта в окне New Project:
Локальное тестирование приложения
- Нажмите Apply Migrations, дождитесь окончания выполнения действия, затем обновите страницу.
- Выполните следующую команду в командной строке в каталоге проекта: dotnet ef database update
Развертывание приложения в Azure
Нажмите правую кнопку мыши на проекте в обозревателе решений и выберите пункт Publish…
В окне Publish выберите пункт Microsoft Azure App Service.
Выберите New…, чтобы создать новую группу ресурсов. Создание новой группы ресурсов позволит упростить удаление всех ресурсов Azure, которые вы создадите при выполнении действий, приведенных в этом руководстве.
Создайте новую группу ресурсов и план службы приложений:
1. Нажмите New…, чтобы создать группу ресурсов и введите ее название.
2. Нажмите New…, чтобы создать план службы приложений и выберите ближайшее расположение. Можно сохранить название по умолчанию.
3. Выберите пункт Explore additional Azure services, чтобы создать новую базу данных.
4. Нажмите на зеленый значок +, чтобы создать новую базу данных SQL.
5. Нажмите на кнопку New… в окне Configure SQL Database, чтобы создать новый сервер баз данных.
6. Введите имя пользователя и пароль для администратора, затем нажмите OK. Запомните указанные на данном этапе имя пользователя и пароль. Можно сохранить имя сервера по умолчанию (Server Name).
Примечание: в качестве имени пользователя не может использоваться «admin».
7. Нажмите на кнопку OK в окне Configure SQL Database.
8. В окне Create App Service нажмите Create.
9. В окне Publish нажмите Next.
- Разверните раздел Databases и выберите параметр Use this connection string at runtime.
- Разверните раздел Entity Framework Migrations и выберите параметр Apply this migration on publish.
Visual Studio опубликует ваше приложение в Azure и запустит облачное приложение в вашем браузере.
Тестирование приложения в Azure
Проверьте работу пунктов About и Contact и зарегистрируйте нового пользователя.
Обновление приложения
Откройте файл Razor Views/Home/About.cshtml и измените его содержимое.
Нажмите правую кнопку мыши на проекте и выберите пункт Publish…
После публикации приложения убедитесь, что внесенные вами изменения доступны в Azure.
Удаление
После окончания тестирования приложения перейдите на портал Azure и удалите приложение. Для этого необходимо выбрать пункт Resource groups, затем выбрать созданную группу ресурсов.
Далее на панели Resource group нажмите Delete.
Введите название группы ресурсов и нажмите Delete. Это приложение и все остальные ресурсы, созданные в рамках данного руководства, теперь удалены из Azure.
Читайте также: