Этот репо содержит весь пример кода, который является частью любой темы в соответствии с документацией .NET. Есть несколько различных проектов, которые организованы в субсолдерах. Эти подразделы организованы аналогично организации документов для .NET. В некоторых статьях будет связано более одного образца.
Контент-команда отслеживает проблемы для документации .NET в репозиториях DotNet/DOCS и DotNet/DotNet-API-DOCS. Проблемы отключены в этом репозитории. Проблемы с файлами против существующих выборок и предложений для новых образцов в этих репозиториях. Если вы не уверены, где выберите Dotnet/Docs. Этот процесс сохраняет проблемы, связанные с статьями, которые объясняют концепции для каждого образца. Лучший процесс - подать проблему из управления обратной связью внизу каждой страницы DOCS:
Код в этом репозитории представляет программы, которые демонстрируют сценарии приложений или библиотеки. Эти образцы часто используют более одной технологии, функции или инструментария. Каждый образец имеет файл readme.md, который объясняет образец и ссылки на ресурсы для получения дополнительной информации.
Образцы должны быть созданные проекты. Эти проекты должны создавать и работать на самом широком наборе платформ, возможных для данного образца. На практике это означает создание основных консольных приложений .NET, где это возможно. Образцы, специфичные для Интернета или структуру пользовательского интерфейса, должны добавлять эти инструменты по мере необходимости. Примеры включают веб -приложения, мобильные приложения, приложения WPF или Windows Forms и так далее.
Мы работаем над тем, чтобы иметь систему CI на месте для всего кода. Когда вы делаете какие -либо обновления в образцах, убедитесь, что каждое обновление является частью строительного проекта. В идеале также добавьте тесты для правильности на образцы.
Создайте любой образец ядра .NET с использованием CLI .NET CORE, который установлен с помощью SDK .NET CORE. Затем запустите эти команды из CLI в каталоге любого образца:
dotnet build
dotnet runОни установят любые необходимые зависимости, создают проект и запускают проект соответственно.
Многопроектные образцы имеют инструкции в их корневом каталоге в файле README.md .
За исключением случаев, где отмечены, все образцы строятся из командной строки на любой платформе, поддерживаемой .NET Core. Есть несколько образцов, которые специфичны для Visual Studio и требуют Visual Studio 2017 или более поздней версии. Кроме того, некоторые образцы показывают специфичные для платформы функции и потребуют конкретной платформы. Другие образцы и фрагменты требуют платформы .NET и будут работать на платформах Windows, и понадобится пакет разработчиков для версии Target Framework.
Если вы хотите добавить образец кода:
Ваш образец должен быть частью строительного проекта . Там, где это возможно, проекты должны опираться на все платформы, поддерживаемые .NET Core. Исключениями из этого являются образцы, которые демонстрируют функцию, специфичную для платформы или инструмент для конкретной платформы.
Ваш образец должен соответствовать стилю кодирования времени выполнения, чтобы поддерживать последовательность.
static методов, а не методов экземпляров при демонстрации чего -то, что не требует создания создания нового объекта.Ваш образец должен включать подходящую обработку исключений . Он должен справиться со всеми исключениями, которые могут быть брошены в контексте выборки. Например, образец, который вызывает метод console.readline для извлечения пользовательского ввода, должен использовать соответствующую обработку исключений, когда входная строка передается в качестве аргумента методу. Аналогичным образом, если ваш образец ожидает, что метод вызов будет выполнена, полученное исключение должно быть обработано. Всегда обрабатывайте конкретные исключения, брошенные методом, а не исключения базового класса, такие как исключение или SystemException.
Если ваш образец создает автономный пакет, вы должны включить время выполнения, используемой нашей системой сборки CI, в дополнение к любым времени выполнения, используемого вашей выборкой:
win7-x64win8-x64win81-x64ubuntu.16.04-x64У нас будет система CI, чтобы вскоре построить эти проекты.
Чтобы создать образец:
Подайте проблему или добавьте комментарий к существующему, который вы над ней работаете.
Напишите тему, которая объясняет концепции, продемонстрированные в вашем примере (пример: docs/standard/linq/where-clause.md ).
Напишите свой образец (пример: whoclause-sample1.cs ).
Создайте программу. CS с основной точкой входа, которая вызывает ваши образцы. Если там уже есть, добавьте вызов в ваш образец:
public class Program
{
public void Main ( string [ ] args )
{
WhereClause1 . QuerySyntaxExample ( ) ;
// Add the method syntax as an example.
WhereClause1 . MethodSyntaxExample ( ) ;
}
}Не регистрируйтесь в файле решения, если он содержит только один проект.
Чтобы построить и запустить образец:
Перейдите в папку образца и постройте, чтобы проверить наличие ошибок:
dotnet buildЗапустите образец:
dotnet runДобавьте readme.md в корневой каталог вашего образца.
Это должно включать краткое описание кода и направить людей в статью, которая ссылается на выборку.