Git Product home page Git Product logo

docs's Introduction

.NET Docs

GitHub contributors GitHub repo size GitHub issues-opened GitHub issues-closed GitHub pulls-opened GitHub pulls-merged GitHub pulls-unmerged

This repository contains the conceptual documentation for .NET. The .NET documentation site is built from multiple repositories in addition to this one:

Our team's tasks are tracked in our project boards. You'll see monthly sprint projects, along with long-running projects for major documentation updates. The projects contain documentation issues across the repositories that build .NET docs. Issues are tracked in the relevant repositories. We have a large community using these resources. We make our best effort to respond to issues in a timely fashion. You can read more about our procedures for classifying and resolving issues in our Issues policy topic. To create a new issue, click the "Open a documentation issue" button at the bottom of any of our published docs, or choose one of the available templates. The control at the bottom of each article automatically routes you to the correct repo and fills in some relevant information based on the article.

๐Ÿ’œ Contribute

We welcome contributions to help us improve and complete the .NET docs. This is a very large repo, covering a large area. If this is your first visit, see our labels and projects roadmap for help navigating the issues and projects in this repository. If your contribution includes third-party dependencies, see our guidance on using third-party dependencies.

To contribute, see:

๐Ÿ“‘ Code of conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation: Code of Conduct.

:octocat: GitHub Action workflows

  • Live branch protection: Adds a comment to PRs that were not automated, but rather manually created that target the live branch.
  • Close stale issues: Closes stale issues that have not been updated in 180 days.
  • dependabot auto-approve and auto-merge: Automatically approves and auto-merges PRs originating from the dependabbot[bot].
  • Generate what's new article: Creates a PR to generate the "What's new" article on the first of every month.
  • Markdownlint: The current status for the entire repositories Markdown linter status.
  • MSDocs build verifier: Runs various Markdown verifications, beyond the linter, such as ensuring links and redirects are valid.
  • No response: If an issue is labeled with needs-more-info and the op doesn't respond within 14 days, the issue is closed.
  • OPS status checker: Builds the site for the PR in context, and verifies the build reporting either, success, warnings, or error.
  • Snippets 5000: Custom .NET build validation, locates code impacted by a PR, and builds.
  • Target supported version: Runs monthly, creating issues on projects that target .NET versions that are out of support.
  • Update dependabot.yml: Automatically updates the dependabot configuration weekly, but only if required.
  • quest import: Automatically synchronizes issues with Quest (Azure DevOps).
  • bulk quest import: Manual bulk import of issues into Quest (Azure DevOps).

docs's People

Contributors

adegeo avatar azure-sdk avatar billwagner avatar camsoper avatar cartermp avatar damabe avatar dependabot[bot] avatar dsyme avatar gewarren avatar github-actions[bot] avatar githubpang avatar guardrex avatar ievangelist avatar jralexander avatar luisquintanilla avatar mairaw avatar mvelosop avatar nemrism avatar nschonni avatar nxtn avatar peteraritchie avatar pkulikov avatar richlander avatar rick-anderson avatar scottaddie avatar stevehoag avatar svick avatar tdykstra avatar thraka avatar youssef1313 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

C# tutorials - conditional methods

Show how implement conditional methods in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - indexed properties

Show how to implement a class that uses indexed properties.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - properties

Should teach the basics of declaring and using properties in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

New TOC?

Was looking at the TOC at RTD: http://dotnet.readthedocs.org/en/latest/index.html.

I'm wondering if we want to re-think the TOC. It feels a little too fine-grained at the top and not quite thematic enough. I'm thinking (out loud) that we could adopt these approaches:

  • Outcome based (build a lib, build an app, build an analyzer).
  • Component based (Runtime, BCL, Roslyn)
  • Experience based (Developing with VS, Developing on Linux)
  • Difficulty based (Getting started, Advanced topics)

I'm sure that there are more of these. Right now, we've got a combination of these. I'm not advocating some purist approach, just that we should decide what our primary approach is for the TOC and bias more towards that.

I'm writing a new doc #46. It wasn't clear to me where that should go in the TOC or if it even appropriate for it to be a doc by itself. Thematically, it is more "outcome based". That isn't to suggest that we should go with outcome based as our plan.

/cc @blackdwarf, @cartermp

VB tutorials - LINQ

We need VB.NET LINQ in the tutorials list. This is a big topic so there could be a lot of samples here. Good starting point: https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - events

Shows how to declare, invoke, and hook up to events in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - versioning

Should teach versioning in C# through the use of the override and new keywords.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - xml documentation

Show how to document code using XML doc comments.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - expression trees

SHow how to use expression trees to enable dynamic modification of executable code in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - serialization

Shows how to implement binary, XML, and SOAP serialization in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - explicit interface implementation

Show how to explicitly implement interface members and how to access those members from the interface instances.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - arrays

Should teach the basic concepts of creating and using arrays in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

We need a manual for libraries that target .NET Core

This is for library creators and includes creating NuGet packages. It includes new packages and existing ones that also want to target .NET Core. It's basically the document that explains how to target the combination of .NET Core and NuGet v3 (3.3+). We need to explain how this relates to NuGet v2.

We should start with building class libraries and then explain how to package them. That's basically the two major sections of the doc.

We bias the document towards people who are already using PCL, since it targets the same problem space. This will allow us to get something out the door more quickly.

We should make this scenario-based:

  • I support a small set of platforms, such as .NET Framework 4.5.1+ and .NET Core. What do I do?
  • I support every .NET platform ever shipped. What do I do?

To start of, this is for folks using the myget feed. It lands as "stable" in RC1.

Library questions:

  • Can I use PCL to target .NET Core?
  • What's the difference between PCL and dotnet targeting?
  • How can I target .NET Core and other platforms including PCL?
  • How do I target specific platforms (I want it to run on Windows Phone, Xamarin iOS and Linux for ASP.NET).
  • Which generation do I use?
  • Which project type do I use?

Package questions:

  • Can I use PCL to target .NET Core? Add "+dotnet"?
  • What do I put as dependencies of my package?

TOC Suggestion

Under Tutorials & Samples the following item should be listed:

  • Writing your first UWP app

Suggestions for Overview of .NET Implementations topic

  • The opening paragraph seems very vague. If I'm a newbie or non-developer and somehow land on this topic, what do I use the .NET platform and these standards for?

.NET Core section

  • You introduce the list of characteristics like this "There are several characteristics of .NET Core:", but you're actually listing the main ones. Maybe it'd be good to be more specific.
  • I'd use a more common word than boon. Maybe advantage or gain?
  • The list of characteristics doesn't look uniform. Some are written as paragraphs, some as list items. It'd be good to have a consistent behavior.
  • For cross-platform support, is it really about running on the best environment? Or is it about the different environment offerings we have out there?
  • For open source: Should we also mention the transparency aspect of open source? Or having the community helping shape the future of .NET Core? The description seems really minimal.
  • For application isolation, instead of "take" wouldn't be better to say embed?

.NET Framework

  • It should be .NET Framework Class Library not Framework Class Libraries. Also, should it link to the library on MSDN?
  • I would avoid using the apostrophe (') there to show possession. So instead of "Windows Forms' strength" I'd say "The strength of Windows Forms" and for the second one, I'd just remove the apostrophe.
  • "that is suited for your use case" or "that is best suited for your use case"?
  • I don't get what MVC does based on the description. Should we talk about patterns or separation of concerns here? The link you point to has a good brief description

.NET native

  • fix punctuation here: (such as C#, Visual Basic, F# etc.)
  • put (IL) after "Intermediate Language"
  • Maybe this sentence: "IL is then picked up by the runtime, and Just-In-Time compiled at run-time to machine code." could be better explained as "At run-time, a just-in-time (JIT) compiler translates the IL into native code" (or machine code)
  • .NET Native NET Native - remove duplication
  • Should we link to https://msdn.microsoft.com/en-us/library/windows/apps/dn726767.aspx, where you mention UWP apps?

Moving all FCL and BCL documentation into its own section and making it awesome

Currently the primer has a link to a document that isn't in the TOC tree describing briefly what the FCL is, giving a brief overview of the BCL and some examples of what the BCL and FCL contain.

There is also a section called "Base Class Library", which I think is a good candidate for renaming to "Framework Class Library" and modifying it to contain all things FCL, including a link to reference documentation. This would include:

  • Overview of the FCL with a diagram showing its relationship with .NET Managed Langs
    • Section with BCL overview and example of its contents, with link to reference docs
    • Section with other FCL examples, with links to reference docs
  • Article about FCL libraries which are important for cloud devs
    • Snippet about each relevant library for cloud devs with sample code highlighting a common use case in C#, VB, and F#
    • Link to reference docs for each library
    • Links to sample applications or full code samples
  • Article about FCL libraries which are important for mobile devs
    • same as for the cloud devs article
    • Links to the UWP samples and other platform samples

I see value in making it clear to developers the relationship between the libraries and the languages and providing conceptual docs + code samples covering some common scenarios. This is a large enough area that it also demands its own section.

C# tutorials - hello world

Create a basic Hello World tutorial for developers new to C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - iterators

Show how to use iterators in c# to step through collections and return elements one at a time.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

MetadataFileReference is internal

I'm trying to follow csharp-semantic.pdf under docs/samples. When I add this code:

var compilation = CSharpCompilation.Create("HelloWorld")
 .AddReferences(
   new MetadataFileReference(typeof(object).Assembly.Location))
 .AddSyntaxTrees(tree);

I get a compilation error because MetadataFileReference is an internal type.

C# tutorials - covariance and contravariance

Show how to enable implicit conversion of generic type parameters in interfaces and delegates in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - delegates

Shows how to map delegates to static and instance methods, and how to combine them (multicast).

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - collection classes

Should cover creating and working with collections in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - asynchronous operations

Show how to implement asynchronous operations in C# using async and await.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - operator overloading

Show how user-defined classes can overload operators.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

Section for Async Programming

I feel like there should be a separate section dedicated to async programming. Especially if we're going to be targeting cloud and devices devs, it's paramount to get it across that .NET can handle potentially complicated async code with simple language constructs and a super nice programming model.

C# tutorials - reflection

Show how to use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object and invoke its methods or access its fields and properties.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - indexers

Show how C# classes can declare indexers to provide array-like access to the classes.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - LINQ

We need LINQ in the tutorials list. This is a big topic so there could be a lot of samples here. Good starting point: https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

[BillWagner] Adding sub-tasks:

  • Bring forward the LINQ overview from the .NET Primer.
  • Provide an overview of LINQ and databases, with extensive links to the EF documentation
  • Provide a reference to Azure Storage LINQ providers.
  • Bring forward explanations from the 101 LINQ samples (code has been added, descriptions have not).

C# tutorials - threading

Show how to do multi-threading in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - user-defined conversions

Show how to define and use conversions to or from classes or structs.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

Add samples structure

We need to add the structure for the sample code so that people can start adding compilable sample code.

Can not add the apt-key with ubuntu 14.04

Here is the terminal output when I try to add the key from the server:

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.Hrb5ETPac2 --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
gpg: requesting key D3D831EF from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

I tried several times but always give me an error. I precise that I'm using the ubuntu official image in a Docker container.
Regards

C# tutorials - accessing services

Shows how to connect to services and work with them in C#.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

Unsafe code sample

I think adding a piece from the CoreFx Interop source in the .NET Primer would look great because it showcases unsafe succinctly and also shows that you can get "down to the metal" without having to switch languages.

C# tutorials - structs

Should cover the syntax and usage of structs in C#, including the differences between structs and classes. Should provide guidance on when to use structs over classes (and vice/versa).

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

C# tutorials - attributes

Show how to provide additional information about programming elements such as types, fields, methods, and properties by using attributes.

Tutorials should include one or more code examples, each example should also show expected output and should include an explanation of the code where it isn't obvious. Examples shouldn't be dependent on a specific IDE or target platform.

LINQ Article

As the .NET Primer alludes to, there should be a more in-depth LINQ article.

LINQ article would cover:

  • Small blurb about what it is and why it's a thing
  • What are IEnumerable and IQueryable and what are they used for
  • Samples which highlight what's used the most
  • Link to the 101 LINQ Samples
  • Explanation of when to use the query syntax vs the API syntax
  • Some more in-depth stuff someone should know when getting started (like deferred execution)
  • PLINQ blurb with example and link to more PLINQ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.