Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Содержание
Особенности
Windows SDK доступны бесплатно; они были однажды доступны в Центре загрузки Microsoft, но были перенесены в MSDN в 2012 году.
Разработчик может захотеть использовать старый SDK по определенной причине. Например, Windows Server 2003 Platform SDK, выпущенный в феврале 2003 года, был последним SDK для полной поддержки Visual Studio 6.0. Некоторые старые версии PSDK можно загрузить из центра загрузки Microsoft; другие могут быть заказаны на CD / DVD. [1]
| Название | Номер версии | Номер сборки | Дата релиза | Ссылка | Примечания | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Microsoft Windows Software Development Kit | 3.1 | ? | ? | ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Windows Software Development Kit | 3.11 | ? | ? | ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Win32 Software Development Kit | 3.1 | ? | ? | ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Win32 Software Development Kit | 3.5 | ? | ? | ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Win32 Software Development Kit | 3.51 | ? | ? | ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Win32 Software Development Kit | 4.0 | ? | ? | ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Platform SDK Апрель 1999 | ? | ? | 1999-04 | ? | MSDN записана на диск CD-ROM. Последняя платформа SDK оффицально установленная на «Windows 95» | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Platform SDK Сентябрь 1999 | ? | ? | 1999-09 | ? | MSDN записана на диск CD-ROM. Последняя платформа SDK полностью поддерживающая «Visual C++ 5.0» | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Platform SDK Февраль 2001 | ? | ? | 2001-02 | ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Platform SDK Июнь 2001 | ? | ? | 2001-06 | ? | MSDN записана на диск CD-ROM. Последняя платформа SDK официально развиваемая для «Windows 95», но не официально установленная. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Microsoft Platform SDK Август 2001 | ? | 5.1.2601.0 | 2001-08 | [1] | MSDN записана на диск CD-ROM Последняя платформа SDKдля «неофициального развития» для «Windows 95», но не официально установленная на «Windows 95» ДокументацияДокументация Windows SDK включает в себя руководства по: .NET — это бесплатная платформа разработки с открытым исходным кодом для создания различных типов приложений, таких как следующие: Для совместного использования функциональных возможностей различных приложений и типов приложений используются библиотеки классов. КроссплатформенныеПоддерживаемые архитектуры процессоров: .NET позволяет использовать специальные возможности платформы, такие как API операционной системы. Примерами являются Windows Forms и WPF в Windows и собственные привязки к каждой мобильной платформе из Xamarin. Открытый исходный кодПоддержкаИнструменты и производительность.NET предоставляет возможность выбора языков, интегрированных сред разработки (IDE) и других средств. Языки программированияC# (произносится как «си шарп») — современный объектно-ориентированный и типобезопасный язык программирования. C# относится к широко известному семейству языков C, и покажется хорошо знакомым любому, кто работал с C, C++, Java или JavaScript. Язык F# поддерживает функциональные, объектно-ориентированные и императивные модели программирования. Интегрированные среды разработкиОнлайн-среда Visual Studio Code, которая в настоящее время доступна в виде бета-версии. Пакет SDK и среды выполненияЗагружаемый пакет SDK содержит следующие компоненты. Загружаемая среда выполнения содержит следующие компоненты. Дополнительные сведения см. в следующих ресурсах: Система проектов и MSBuildИ вот один для веб-приложения: NuGetДополнительные сведения см. в документации NuGet. .NET Interactive — это группа средств и интерфейсов командной строки, которые позволяют пользователям создавать интерактивные возможности в веб-приложениях, разметке и записных книжках. Дополнительные сведения см. в следующих ресурсах: Модели выполнения..NET CLR — это кроссплатформенная среда выполнения, которая включает поддержку Windows, macOS и Linux. Среда CLR обрабатывает выделение памяти и управление ей. Среда CLR также является виртуальной машиной, которая не только выполняет приложения, но и создает, а также компилирует код с помощью JIT-компилятора. Для получения дополнительной информации см. Common Language Runtime. JIT-компилятор и промежуточный языкТак как JIT-компиляция происходит во время выполнения приложения, время компиляции является частью времени выполнения. Таким образом, JIT-компиляторы должны поддерживать баланс между временем оптимизации кода и экономии, к которой может привести результирующий код. Но JIT-компилятор знает фактическое оборудование и может освободить разработчиков от поставки различных реализаций для различных платформ. Компилятор AOTАвтоматическое управление памятьюСборщик мусора (GC) управляет выделением и освобождением памяти для приложений. Каждый раз, когда код создает новый объект, среда CLR выделяет память для объекта из управляемой кучи. Пока в управляемой куче есть доступное адресное пространство, среда выполнения продолжает выделять пространство для новых объектов. Когда остается недостаточное свободное пространство адресов, сборщик мусора проверяет наличие объектов в управляемой куче, которые больше не используются приложением. Затем эта память освобождается. GC — это одна из служб CLR, которая помогает обеспечить безопасность памяти. Программа является безопасной по памяти, если она обращается только к выделенной памяти. Например, среда выполнения гарантирует, что приложение не обращается к невыделенной памяти за пределами границ массива. Дополнительные сведения о сборке мусора см. в статьях Автоматическое управление памятью и Основы сборки мусора. Работа с неуправляемыми ресурсамиДополнительные сведения см. в разделе Очистка неуправляемых ресурсов. Модели развертыванияМожно установить несколько версий среды выполнения параллельно, чтобы запускать зависящие от платформы приложения, предназначенные для разных версий среды выполнения. Дополнительные сведения см. в разделе Целевые платформы. Исполняемые файлы создаются для конкретных целевых платформ, которые указываются с помощью идентификатора среды выполнения (RID). Библиотеки среды выполнения..NET имеет обширный стандартный набор библиотек классов, известный как библиотеки среды выполнения, библиотеки платформы или библиотеки базовых классов (BCL). Эти библиотеки предоставляют реализации для многих общих и зависящих от рабочей нагрузки типов, а также функциональные возможности. Расширения библиотек среды выполненияБиблиотеки для некоторых часто используемых функциональных возможностей приложения не включены в библиотеки среды выполнения, но доступны в пакетах NuGet, как показано ниже.
Доступ к данным.NET предоставляет объектно-реляционный модуль сопоставления (ORM) и способ написания SQL-запросов в коде. Entity Framework CoreLINQ позволяет писать декларативный код для работы с данными. Данные могут быть представлены разными формами (например, объектами в памяти, содержимым базы данных SQL или XML-документом), но обычно создаваемый код LINQ не отличается для каждого из источников данных. Уточнение терминологииСреда выполнения платформа Пакет SDK platform Сложные сценарииВзаимодействие на уровне машинного кодаОсновным способом осуществления взаимодействия с собственными API является «вызов неуправляемого кода» или сокращенно P/Invoke. P/Invoke поддерживается на платформах Linux и Windows. Способ, который подходит только для Windows, называется «COM-взаимодействием» и используется для работы с COM-компонентами в управляемом коде. Он основан на инфраструктуре P/Invoke, но работает иначе. Небезопасный кодДополнительные сведения см. в разделе Небезопасный код и указатели. Доступные пакеты SDKДоступны следующие пакеты SDK: Можно также создать собственный пакет SDK и распространять его с помощью NuGet. Файлы проектаЧтобы указать пакет SDK, который содержится в NuGet, добавьте версию в конец имени или укажите имя и версию в файле global.json. Другим способом указания пакета SDK является элемент Sdk верхнего уровня. На компьютере Windows файлы Sdk.props и Sdk.targets можно найти в папке %ProgramFiles%\dotnet\sdk\[версия]\Sdks\Microsoft.NET.Sdk\Sdk. Предварительная обработка файла проектаВключения и исключения по умолчанию
Ошибки сборкиЕсли вы явным образом определите любой из этих элементов в файле проекта, скорее всего, произойдет ошибка сборки NETSDK1022 с примерно таким сообщением: Чтобы устранить такую проблему, выполните любое из следующих действий: Если вы хотите указать файлы, которые нужно публиковать вместе с приложением, для этого можно по-прежнему использовать привычные механизмы MSBuild (например, элемент Content ). Неявные директивы usingНеявные директивы global using добавляются для проектов, которые используют один из следующих пакетов SDK: Директива global using добавляется для каждого пространства имен в наборе стандартных пространств имен, в зависимости от конкретного пакета SDK для проекта. Эти пространства имен по умолчанию показаны в следующей таблице.
Неявные ссылки на пакетПри необходимости можно отключить неявные ссылки на пакеты с помощью свойства DisableImplicitFrameworkReferences и добавить явные ссылки только на необходимые платформы или пакеты. События сборкиНастройка сборкиПользовательские целевые объектыЧтобы добавить пользовательские целевые объекты или свойства сборки, нужно поместить файлы в форме .props (например, Contoso.Utility.UsefulStuff.targets ) в папку build проекта. .NET 5.0 является последней версией. Поддерживаемые выпускиДаты окончания жизненного цикла версий Windows 10 зависят от выпуска. В следующей таблице рассматриваются только выпуски Домашняя, Профессиональная, Pro для образовательных учреждений и Pro для рабочих станций. Дополнительные сведения см. в справочных материалах по жизненному циклу поддержки Windows. Символ + представляет минимальную версию.
Неподдерживаемые выпускиСведения о среде выполненияВ Windows можно установить три различные версии среды выполнения: Сведения о пакете SDKЗависимости.NET 5 поддерживает следующие версии Windows: Символ + представляет минимальную версию.
.NET Core 3.1 поддерживает следующие версии Windows: Символ + представляет минимальную версию.
.NET Core 3.0 поддерживает следующие версии Windows: Символ + представляет минимальную версию.
.NET Core 2.2 поддерживает следующие версии Windows: Символ + представляет минимальную версию.
.NET Core 2.1 поддерживает следующие версии Windows: Символ + представляет минимальную версию.
Автономная установка для Windows 7Обязательно ознакомьтесь с зависимостями ниже, необходимыми для Windows 7. Windows 7 / Vista / 8.1 / Server 2008 R2 / Server 2012 R2Приведенные выше требования также применяются, если возникает ошибка, связанная с любой из следующих библиотек DLL: Установка с помощью функции автоматизации PowerShellСценарии dotnet-install используются для автоматизации непрерывной интеграции и ее осуществления без прав администратора. Вы можете скачать сценарий со страницы справочника по сценариям dotnet-install. Установка с помощью Visual StudioЕсли среда Visual Studio уже установлена, вы можете проверить ее версию, выполнив указанные ниже действия. Выбор рабочей нагрузкиПри установке или изменении Visual Studio выберите одну или несколько из следующих рабочих нагрузок в зависимости от типа создаваемого приложения: Установка вместе с Visual Studio CodeVisual Studio Code — это эффективный и облегченный редактор исходного кода, который работает на компьютере. Visual Studio Code доступен для Windows, macOS и Linux. Установщик Windows/quiet norestart В случае успешной установки установщик возвращает код 0; если требуется перезагрузка, установщик возвращает код 3010. Любое другое значение обычно является кодом ошибки. Скачивание и установка вручнуюТакой подход позволяет установить несколько версий в отдельные расположения, а затем явно выбрать расположение установки, которое должно использовать приложение, запустив приложение с переменными среды, указывающими на это расположение. DockerКонтейнеры обеспечивают простой способ изоляции приложения от остальной части основной системы. Контейнеры на одном компьютере совместно использую только ядро, а также используют ресурсы, которые передаются в приложение. Корпорация Майкрософт предоставляет образы, которые предназначены для конкретных сценариев. Например репозиторий ASP.NET Core содержит образы, которые предназначены для запуска приложений ASP.NET Core в рабочей среде. .NET project SDKsAvailable SDKsThe following SDKs are available: You can also author your own SDK that can be distributed via NuGet. Project filesTo specify an SDK that comes from NuGet, include the version at the end of the name, or specify the name and version in the global.json file. Another way to specify the SDK is with the top-level Sdk element: On a Windows machine, the Sdk.props and Sdk.targets files can be found in the %ProgramFiles%\dotnet\sdk\[version]\Sdks\Microsoft.NET.Sdk\Sdk folder. Preprocess the project fileIf the project has multiple target frameworks, focus the results of the command on only one framework by specifying it as an MSBuild property. For example: Default includes and excludes
Build errorsIf you explicitly define any of these items in your project file, you’re likely to get a «NETSDK1022» build error similar to the following: To resolve the errors, do one of the following: Set the EnableDefaultItems property to false to disable all implicit file inclusion: If you want to specify files to be published with your app, you can still use the known MSBuild mechanisms for that, for example, the Content element. If you only disable Compile globs, Solution Explorer in Visual Studio still shows *.cs items as part of the project, included as None items. To disable the implicit None glob, set EnableDefaultNoneItems to false too. Implicit using directivesImplicit global using directives are added for projects that use one of the following SDKs: A global using directive is added for each namespaces in a set of default namespaces that’s based on the project’s SDK. These default namespaces are shown in the following table.
If you want to disable this feature, or if you want to enable implicit global using directives in an existing C# project, you can do so via the ImplicitUsings MSBuild property. You can specify additional implicit global using directives by adding Using items (or Import items for Visual Basic projects) to your project file, for example: Implicit package referencesIf needed, you can disable implicit package references using the DisableImplicitFrameworkReferences property, and add explicit references to just the frameworks or packages you need. Build eventsCustomize the buildCustom targets.NET projects can package custom MSBuild targets and properties for use by projects that consume the package. Use this type of extensibility when you want to: You add custom build targets or properties by placing files in the form .props (for example, Contoso.Utility.UsefulStuff.targets ) in the build folder of the project. The following XML is a snippet from a .csproj file that instructs the dotnet pack command what to package. The element places the targets files into the build folder inside the package. The element places the assemblies and .json files into the build folder. To consume a custom target in your project, add a PackageReference element that points to the package and its version. Unlike the tools, the custom targets package is included in the consuming project’s dependency closure. |




