diff --git a/docs/csharp/language-reference/compiler-messages/cs0618.md b/docs/csharp/language-reference/compiler-messages/cs0618.md index f0ccd456a8ca6..6b292c6adabea 100644 --- a/docs/csharp/language-reference/compiler-messages/cs0618.md +++ b/docs/csharp/language-reference/compiler-messages/cs0618.md @@ -10,7 +10,7 @@ ms.assetid: b6edf0a9-b186-4ed8-9e16-978659b89205 # Compiler Warning (level 2) CS0618 'member' is obsolete: 'text' - A class member was marked with the `Obsolete` attribute, such that a warning will be issued when the class member is referenced. For more information, see [Common Attributes](../../programming-guide/concepts/attributes/common-attributes.md). + A class member was marked with the `Obsolete` attribute, such that a warning will be issued when the class member is referenced. For more information, see [Common Attributes](../attributes/global.md). The following sample generates CS0618: diff --git a/docs/csharp/language-reference/compiler-options/target-compiler-option.md b/docs/csharp/language-reference/compiler-options/target-compiler-option.md index 3ea04bfecdebc..68c8b22353559 100644 --- a/docs/csharp/language-reference/compiler-options/target-compiler-option.md +++ b/docs/csharp/language-reference/compiler-options/target-compiler-option.md @@ -31,7 +31,7 @@ The **-target** compiler option can be specified in one of four forms: [-target:winmdobj](./target-winmdobj-compiler-option.md) To create an intermediate .winmdobj file. - Unless you specify **-target:module**, **-target** causes a .NET Framework assembly manifest to be placed in an output file. For more information, see [Assemblies in .NET](../../../standard/assembly/index.md) and [Common Attributes](../../programming-guide/concepts/attributes/common-attributes.md). + Unless you specify **-target:module**, **-target** causes a .NET Framework assembly manifest to be placed in an output file. For more information, see [Assemblies in .NET](../../../standard/assembly/index.md) and [Common Attributes](../attributes/global.md). The assembly manifest is placed in the first .exe output file in the compilation or in the first DLL, if there is no .exe output file. For example, in the following command line, the manifest will be placed in `1.exe`: diff --git a/docs/csharp/misc/cs0243.md b/docs/csharp/misc/cs0243.md index 0a13ccc50af34..c24a65eb62549 100644 --- a/docs/csharp/misc/cs0243.md +++ b/docs/csharp/misc/cs0243.md @@ -7,15 +7,15 @@ helpviewer_keywords: - "CS0243" ms.assetid: 2506e4cb-dc26-46b4-a58c-ab6bf1601144 --- -# Compiler Error CS0243 +# Compiler error CS0243 The Conditional attribute is not valid on 'method' because it is an override method - The [Conditional](../programming-guide/concepts/attributes/common-attributes.md#Conditional) attribute is not allowed on a method that is marked with the [override](../language-reference/keywords/override.md) keyword. For more information, see [Knowing When to Use Override and New Keywords](../programming-guide/classes-and-structs/knowing-when-to-use-override-and-new-keywords.md). +The attribute is not allowed on a method that is marked with the [override](../language-reference/keywords/override.md) keyword. For more information, see [Knowing When to Use Override and New Keywords](../programming-guide/classes-and-structs/knowing-when-to-use-override-and-new-keywords.md). - The compiler never binds to override methods; it only binds to the base method and the common language runtime calls the override, as appropriate. +The compiler never binds to override methods. It only binds to the base method, and the common language runtime calls the override, as appropriate. - The following sample generates CS0243: +The following code generates CS0243: ```csharp // CS0243.cs diff --git a/docs/csharp/misc/cs0612.md b/docs/csharp/misc/cs0612.md index 618fa6906d080..52d05d95b6302 100644 --- a/docs/csharp/misc/cs0612.md +++ b/docs/csharp/misc/cs0612.md @@ -7,10 +7,11 @@ helpviewer_keywords: - "CS0612" ms.assetid: 7695f3b7-ffef-43f7-83db-fc1a9e361f1a --- -# Compiler Warning (level 1) CS0612 +# Compiler warning (level 1) CS0612 + 'member' is obsolete - The class designer marked a member with the [Obsolete](../programming-guide/concepts/attributes/common-attributes.md#Obsolete) attribute. This means that the member might not be supported in a future version of the class. + The class designer marked a member with the [Obsolete attribute](../language-reference/attributes/general.md#obsolete-attribute). This means that the member might not be supported in a future version of the class. The following sample shows how accessing an obsolete member generates CS0612: diff --git a/docs/csharp/misc/cs0629.md b/docs/csharp/misc/cs0629.md index 087f26433911d..c708f1f7ea7b2 100644 --- a/docs/csharp/misc/cs0629.md +++ b/docs/csharp/misc/cs0629.md @@ -7,12 +7,13 @@ helpviewer_keywords: - "CS0629" ms.assetid: 20f22ef0-3c6f-4108-ab09-3f0752375a10 --- -# Compiler Error CS0629 +# Compiler error CS0629 + Conditional member 'member' cannot implement interface member 'base class member' in type 'Type Name' - The [Conditional](../programming-guide/concepts/attributes/common-attributes.md#Conditional) attribute cannot be used on the implementation of an interface. +The [Conditional attribute](../language-reference/attributes/general.md#conditional-attribute) cannot be used on the implementation of an interface. - The following sample generates CS0629: +The following sample generates CS0629: ```csharp // CS0629.cs diff --git a/docs/csharp/programming-guide/concepts/attributes/index.md b/docs/csharp/programming-guide/concepts/attributes/index.md index 0146504a9e7aa..b684302948efd 100644 --- a/docs/csharp/programming-guide/concepts/attributes/index.md +++ b/docs/csharp/programming-guide/concepts/attributes/index.md @@ -75,7 +75,7 @@ The list of possible `target` values is shown in the following table. You would specify the `field` target value to apply an attribute to the backing field created for an [auto-implemented property](../../../properties.md). -The following example shows how to apply attributes to assemblies and modules. For more information, see [Common Attributes (C#)](common-attributes.md). +The following example shows how to apply attributes to assemblies and modules. For more information, see [Common Attributes (C#)](../../../language-reference/attributes/global.md). ```csharp using System; @@ -114,7 +114,7 @@ For more information, see: - [Creating Custom Attributes (C#)](creating-custom-attributes.md) - [Accessing Attributes by Using Reflection (C#)](accessing-attributes-by-using-reflection.md) - [How to create a C/C++ union by using attributes (C#)](how-to-create-a-c-cpp-union-by-using-attributes.md) -- [Common Attributes (C#)](common-attributes.md) +- [Common Attributes (C#)](../../../language-reference/attributes/global.md) - [Caller Information (C#)](../../../language-reference/attributes/caller-information.md) ## See also diff --git a/docs/csharp/programming-guide/concepts/collections.md b/docs/csharp/programming-guide/concepts/collections.md index 5b3ebb024284e..c3496e7afb6e2 100644 --- a/docs/csharp/programming-guide/concepts/collections.md +++ b/docs/csharp/programming-guide/concepts/collections.md @@ -596,7 +596,7 @@ private static IEnumerable EvenSequence( - [Programming Concepts (C#)](./index.md) - [Option Strict Statement](../../../visual-basic/language-reference/statements/option-strict-statement.md) - [LINQ to Objects (C#)](./linq/linq-to-objects.md) -- [Parallel LINQ (PLINQ)](../../../standard/parallel-programming/parallel-linq-plinq.md) +- [Parallel LINQ (PLINQ)](../../../standard/parallel-programming/introduction-to-plinq.md) - [Collections and Data Structures](../../../standard/collections/index.md) - [Selecting a Collection Class](../../../standard/collections/selecting-a-collection-class.md) - [Comparisons and Sorts Within Collections](../../../standard/collections/comparisons-and-sorts-within-collections.md) diff --git a/docs/csharp/toc.yml b/docs/csharp/toc.yml index 7a30ee502b8ad..793b6c594ccde 100644 --- a/docs/csharp/toc.yml +++ b/docs/csharp/toc.yml @@ -508,7 +508,7 @@ - name: "How to compute column values in a CSV text file (LINQ)" href: programming-guide/concepts/linq/how-to-compute-column-values-in-a-csv-text-file-linq.md - name: LINQ and Reflection - href: programming-guide/concepts/linq/linq-and-reflection.md + href: programming-guide/concepts/linq/how-to-query-an-assembly-s-metadata-with-reflection-linq.md - name: "How to query an assembly's metadata with Reflection (LINQ)" href: programming-guide/concepts/linq/how-to-query-an-assembly-s-metadata-with-reflection-linq.md - name: LINQ and File Directories diff --git a/docs/csharp/versioning.md b/docs/csharp/versioning.md index 627a39559ee90..0738462066909 100644 --- a/docs/csharp/versioning.md +++ b/docs/csharp/versioning.md @@ -39,7 +39,7 @@ Here are some things to consider when trying to maintain backwards compatibility will have to be updated. This is a huge breaking change and is strongly discouraged. - Method signatures: When updating a method behavior requires you to change its signature as well, you should instead create an overload so that code calling into that method will still work. You can always manipulate the old method signature to call into the new method signature so that implementation remains consistent. -- [Obsolete attribute](programming-guide/concepts/attributes/common-attributes.md#Obsolete): You can use this attribute in your code to specify classes or class members that are deprecated and likely to be removed in future versions. This ensures developers utilizing your library are better prepared for breaking changes. +- [Obsolete attribute](language-reference/attributes/general.md#obsolete-attribute): You can use this attribute in your code to specify classes or class members that are deprecated and likely to be removed in future versions. This ensures developers utilizing your library are better prepared for breaking changes. - Optional Method Arguments: When you make previously optional method arguments compulsory or change their default value then all code that does not supply those arguments will need to be updated. > [!NOTE] diff --git a/docs/visual-basic/developing-apps/programming/drives-directories-files/toc.yml b/docs/visual-basic/developing-apps/programming/drives-directories-files/toc.yml index 4457413b8b778..13dc93a652208 100644 --- a/docs/visual-basic/developing-apps/programming/drives-directories-files/toc.yml +++ b/docs/visual-basic/developing-apps/programming/drives-directories-files/toc.yml @@ -1,5 +1,5 @@ - name: Processing Drives, Directories, and Files - href: processing.md + href: index.md items: - name: File Access with Visual Basic href: file-access.md diff --git a/docs/visual-basic/language-reference/statements/declare-statement.md b/docs/visual-basic/language-reference/statements/declare-statement.md index 54763654c06c7..83ae76a33da1e 100644 --- a/docs/visual-basic/language-reference/statements/declare-statement.md +++ b/docs/visual-basic/language-reference/statements/declare-statement.md @@ -123,7 +123,7 @@ External references default to [Public](../../../visual-basic/language-reference - **Mechanism.** Visual Basic uses the .NET Framework *platform invoke* (PInvoke) mechanism to resolve and access external procedures. The `Declare` statement and the class both use this mechanism automatically, and you do not need any knowledge of PInvoke. For more information, see [Walkthrough: Calling Windows APIs](../../../visual-basic/programming-guide/com-interop/walkthrough-calling-windows-apis.md). > [!IMPORTANT] -> If the external procedure runs outside the common language runtime (CLR), it is *unmanaged code*. When you call such a procedure, for example a Windows API function or a COM method, you might expose your application to security risks. For more information, see [Secure Coding Guidelines for Unmanaged Code](../../../framework/security/secure-coding-guidelines-for-unmanaged-code.md). +> If the external procedure runs outside the common language runtime (CLR), it is *unmanaged code*. When you call such a procedure, for example a Windows API function or a COM method, you might expose your application to security risks. For more information, see [Secure Coding Guidelines for Unmanaged Code](https://docs.microsoft.com/previous-versions/dotnet/framework/security/secure-coding-guidelines-for-unmanaged-code). ## Example diff --git a/docs/visual-basic/misc/specified-registry-path-does-not-start-with-a-valid-hive-name.md b/docs/visual-basic/misc/specified-registry-path-does-not-start-with-a-valid-hive-name.md index 7cc6693892356..8ae0f335721f9 100644 --- a/docs/visual-basic/misc/specified-registry-path-does-not-start-with-a-valid-hive-name.md +++ b/docs/visual-basic/misc/specified-registry-path-does-not-start-with-a-valid-hive-name.md @@ -26,6 +26,6 @@ The specified registry path does not begin with a valid hive name. Valid hive na ## See also -- [Manipulating Strings](../../standard/base-types/manipulating-strings.md) +- [Manipulating Strings](../../standard/base-types/best-practices-strings.md) - [Reading from and Writing to the Registry (Visual Basic)](../developing-apps/programming/computer-resources/reading-from-and-writing-to-the-registry.md) - [My.Computer.Registry](xref:Microsoft.VisualBasic.MyServices.RegistryProxy) diff --git a/docs/visual-basic/programming-guide/concepts/collections.md b/docs/visual-basic/programming-guide/concepts/collections.md index 04cbdf169143c..90c35b377949a 100644 --- a/docs/visual-basic/programming-guide/concepts/collections.md +++ b/docs/visual-basic/programming-guide/concepts/collections.md @@ -568,7 +568,7 @@ End Function - [Programming Concepts (Visual Basic)](../../../visual-basic/programming-guide/concepts/index.md) - [Option Strict Statement](../../../visual-basic/language-reference/statements/option-strict-statement.md) - [LINQ to Objects (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/linq-to-objects.md) -- [Parallel LINQ (PLINQ)](../../../standard/parallel-programming/parallel-linq-plinq.md) +- [Parallel LINQ (PLINQ)](../../../standard/parallel-programming/introduction-to-plinq.md) - [Collections and Data Structures](../../../standard/collections/index.md) - [Selecting a Collection Class](../../../standard/collections/selecting-a-collection-class.md) - [Comparisons and Sorts Within Collections](../../../standard/collections/comparisons-and-sorts-within-collections.md) diff --git a/docs/visual-basic/programming-guide/concepts/linq/toc.yml b/docs/visual-basic/programming-guide/concepts/linq/toc.yml index c526c6adb1348..f03a5971730c8 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/toc.yml +++ b/docs/visual-basic/programming-guide/concepts/linq/toc.yml @@ -295,7 +295,7 @@ href: linq-to-xml-for-xpath-users.md items: - name: Comparison of XPath and LINQ to XML - href: comparison-of-xpath-and-linq-to-xml.md + href: ../../../../csharp/programming-guide/concepts/linq/comparison-of-xpath-and-linq-to-xml.md - name: "How to: Find a Child Element (XPath-LINQ to XML)" href: how-to-find-a-child-element-xpath-linq-to-xml.md - name: "How to: Find a List of Child Elements (XPath-LINQ to XML)" diff --git a/docs/visual-basic/programming-guide/language-features/strings/how-to-create-strings-using-a-stringbuilder.md b/docs/visual-basic/programming-guide/language-features/strings/how-to-create-strings-using-a-stringbuilder.md index 83804153c5bc4..5285799ba994b 100644 --- a/docs/visual-basic/programming-guide/language-features/strings/how-to-create-strings-using-a-stringbuilder.md +++ b/docs/visual-basic/programming-guide/language-features/strings/how-to-create-strings-using-a-stringbuilder.md @@ -22,4 +22,4 @@ The following example creates an instance of the