diff --git a/Directory.Build.props b/Directory.Build.props index 3da3ed640c0..2cc17a1372f 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -20,7 +20,7 @@ $(RepoRoot).dotnet\ - https://github.com/microsoft/msbuild + https://github.com/dotnet/msbuild http://go.microsoft.com/fwlink/?LinkId=624683 MSBuild-NuGet-Icon.png MSBuild diff --git a/README.md b/README.md index 1efeff4f155..9589de5beba 100644 --- a/README.md +++ b/README.md @@ -10,19 +10,19 @@ The current development branch is `main`. Changes in `main` will go into a futur [![Build Status](https://dev.azure.com/dnceng/public/_apis/build/status/Microsoft/msbuild/msbuild-pr?branchName=main)](https://dev.azure.com/dnceng/public/_build/latest?definitionId=86&branchName=main) -We have forked for MSBuild 16.9 in the branch [`vs16.9`](https://github.com/Microsoft/msbuild/tree/vs16.9). Changes to that branch need special approval. +We have forked for MSBuild 16.9 in the branch [`vs16.9`](https://github.com/dotnet/msbuild/tree/vs16.9). Changes to that branch need special approval. [![Build Status](https://dev.azure.com/dnceng/public/_apis/build/status/Microsoft/msbuild/msbuild-pr?branchName=vs16.9)](https://dev.azure.com/dnceng/public/_build/latest?definitionId=86&branchName=vs16.9) -MSBuild 16.7 builds from the branch [`vs16.7`](https://github.com/Microsoft/msbuild/tree/vs16.7). Only high-priority bugfixes will be considered for servicing 16.7. +MSBuild 16.7 builds from the branch [`vs16.7`](https://github.com/dotnet/msbuild/tree/vs16.7). Only high-priority bugfixes will be considered for servicing 16.7. [![Build Status](https://dev.azure.com/dnceng/public/_apis/build/status/Microsoft/msbuild/msbuild-pr?branchName=vs16.7)](https://dev.azure.com/dnceng/public/_build/latest?definitionId=86&branchName=vs16.7) -MSBuild 16.4 builds from the branch [`vs16.4`](https://github.com/Microsoft/msbuild/tree/vs16.4). Only high-priority bugfixes will be considered for servicing 16.4. +MSBuild 16.4 builds from the branch [`vs16.4`](https://github.com/dotnet/msbuild/tree/vs16.4). Only high-priority bugfixes will be considered for servicing 16.4. [![Build Status](https://dev.azure.com/dnceng/public/_apis/build/status/Microsoft/msbuild/msbuild-pr?branchName=vs16.4)](https://dev.azure.com/dnceng/public/_build/latest?definitionId=86&branchName=vs16.4) -MSBuild 15.9 builds from the branch [`vs15.9`](https://github.com/Microsoft/msbuild/tree/vs15.9). Only very-high-priority bugfixes will be considered for servicing 15.9. +MSBuild 15.9 builds from the branch [`vs15.9`](https://github.com/dotnet/msbuild/tree/vs15.9). Only very-high-priority bugfixes will be considered for servicing 15.9. ## Building diff --git a/documentation/ProjectReference-Protocol.md b/documentation/ProjectReference-Protocol.md index 8f6a76fd036..f5363b9f43f 100644 --- a/documentation/ProjectReference-Protocol.md +++ b/documentation/ProjectReference-Protocol.md @@ -5,8 +5,8 @@ The MSBuild engine doesn't have a notion of a “project reference”—it only That's a powerful tool, but no one would want to have to specify how to build every single reference in every single project. The common targets introduce an item, `ProjectReference`, and a default process for building references declared via that item. Default protocol implementation: -- https://github.com/Microsoft/msbuild/blob/master/src/Tasks/Microsoft.Common.CurrentVersion.targets -- https://github.com/Microsoft/msbuild/blob/master/src/Tasks/Microsoft.Common.CrossTargeting.targets +- https://github.com/dotnet/msbuild/blob/main/src/Tasks/Microsoft.Common.CurrentVersion.targets +- https://github.com/dotnet/msbuild/blob/main/src/Tasks/Microsoft.Common.CrossTargeting.targets ## Projects that have references @@ -73,7 +73,7 @@ If implementing a project with an “outer” (determine what properties to pass * `GetTargetPath` should return the path of the project's output, but _not_ build that output. * **Conditions**: this is used for builds inside Visual Studio, but not on the command line. * It's also used when the property `BuildProjectReferences` is `false`, manually indicating that all `ProjectReferences` are up to date and shouldn't be (re)built. - * This should return a single item that is the primary output of the project, with metadata describing that output. See [`TargetPathWithTargetPlatformMoniker`](https://github.com/Microsoft/msbuild/blob/080ef976a428f6ff7bf53ca5dd4ee637b3fe949c/src/Tasks/Microsoft.Common.CurrentVersion.targets#L1834-L1842) for the default metadata. + * This should return a single item that is the primary output of the project, with metadata describing that output. See [`TargetPathWithTargetPlatformMoniker`](https://github.com/dotnet/msbuild/blob/080ef976a428f6ff7bf53ca5dd4ee637b3fe949c/src/Tasks/Microsoft.Common.CurrentVersion.targets#L1834-L1842) for the default metadata. * **Default** targets should do the full build and return an assembly to be referenced. * **Conditions**: this is _not_ called when building inside Visual Studio. Instead, Visual Studio builds each project in isolation but in order, so the path returned from `GetTargetPath` can be assumed to exist at consumption time. * If the `ProjectReference` defines the `Targets` metadata, it is used. If not, no target is passed, and the default target of the reference (usually `Build`) is built. diff --git a/documentation/WhenGlobbingReturnsOriginalFilespec.md b/documentation/WhenGlobbingReturnsOriginalFilespec.md index 6196c579a95..ac9a74c887f 100644 --- a/documentation/WhenGlobbingReturnsOriginalFilespec.md +++ b/documentation/WhenGlobbingReturnsOriginalFilespec.md @@ -6,5 +6,5 @@ Original itemspec is returned when: - a `:` anywhere but the second character - a `..` after a wildcard - a path fragment which contains `**` and other characters (e.g. `/**f/`) -- Any IO related exception is thrown during file walking: https://github.com/Microsoft/msbuild/blob/c1d949558b4808ca9381d09af384b66b31cde2b2/src/Shared/ExceptionHandling.cs#L125-L140 +- Any IO related exception is thrown during file walking: https://github.com/dotnet/msbuild/blob/c1d949558b4808ca9381d09af384b66b31cde2b2/src/Shared/ExceptionHandling.cs#L125-L140 - System.UnauthorizedAccessException and System.Security.SecurityException from directory enumeration (Directory.EnumerateFileSystemEntries) are ignored, and the files / directories which cause it are excluded from the results. diff --git a/documentation/assigning-msb-error-code.md b/documentation/assigning-msb-error-code.md index f9350a8e627..2801df217ed 100644 --- a/documentation/assigning-msb-error-code.md +++ b/documentation/assigning-msb-error-code.md @@ -4,7 +4,7 @@ User-facing errors encountered in MSBuild should have an error code in the form Errors that should not be user-facing (because they're a result of a problem internal to MSBuild like an `InternalErrorException`) do not need an error code. -This code is defined in the `.resx` file that includes the string representation of the error. For example, [MSB3021 is defined as](https://github.com/Microsoft/msbuild/blob/ea30bf10ad0d7ab37ea54ab9d98fe39a5d97bfb0/src/Tasks/Resources/Strings.resx#L234-L237): +This code is defined in the `.resx` file that includes the string representation of the error. For example, [MSB3021 is defined as](https://github.com/dotnet/msbuild/blob/ea30bf10ad0d7ab37ea54ab9d98fe39a5d97bfb0/src/Tasks/Resources/Strings.resx#L234-L237): ```xml diff --git a/documentation/specs/static-graph-implementation-details.md b/documentation/specs/static-graph-implementation-details.md index 4845fff794d..028fb333359 100644 --- a/documentation/specs/static-graph-implementation-details.md +++ b/documentation/specs/static-graph-implementation-details.md @@ -17,16 +17,16 @@ The presence of either input or output caches turns on [isolated build constrain ## Input / Output cache implementation -The cache files contain the serialized state of MSBuild's [ConfigCache](https://github.com/Microsoft/msbuild/blob/master/src/Build/BackEnd/Components/Caching/ConfigCache.cs) and [ResultsCache](https://github.com/Microsoft/msbuild/blob/master/src/Build/BackEnd/Components/Caching/ResultsCache.cs). These two caches have been traditionally used by the engine to cache build results. For example, it is these caches which ensure that a target is only built once per build submission. The `ConfigCache` entries are instances of [BuildRequestConfiguration](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Shared/BuildRequestConfiguration.cs#L25). The `ResultsCache` entries are instances of [BuildResult](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Shared/BuildResult.cs#L34), which contain or more instances of [TargetResult](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Shared/TargetResult.cs#L22). +The cache files contain the serialized state of MSBuild's [ConfigCache](https://github.com/dotnet/msbuild/blob/main/src/Build/BackEnd/Components/Caching/ConfigCache.cs) and [ResultsCache](https://github.com/dotnet/msbuild/blob/master/src/Build/BackEnd/Components/Caching/ResultsCache.cs). These two caches have been traditionally used by the engine to cache build results. For example, it is these caches which ensure that a target is only built once per build submission. The `ConfigCache` entries are instances of [BuildRequestConfiguration](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Shared/BuildRequestConfiguration.cs#L25). The `ResultsCache` entries are instances of [BuildResult](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Shared/BuildResult.cs#L34), which contain or more instances of [TargetResult](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Shared/TargetResult.cs#L22). One can view the two caches as the following mapping: `(project path, global properties) -> results`. `(project path, global properties)` is represented by a `BuildRequestConfiguration`, and the results are represented by `BuildResult` and `TargetResult`. -The input and output cache files have the same lifetime as the `ConfigCache` and the `ResultsCache`. The `ConfigCache` and the `ResultsCache` are owned by the [BuildManager](https://github.com/Microsoft/msbuild/blob/master/src/Build/BackEnd/BuildManager/BuildManager.cs), and their lifetimes are one `BuildManager.BeginBuild` / `BuildManager.EndBuild` session. On commandline builds, since MSBuild.exe uses one BuildManager with one BeginBuild / EndBuild session, the cache lifetime is the same as the entire process lifetime. When other processes (e.g. Visual Studio's devenv.exe) perform msbuild builds via the `BuildManager` APIs, there can be multiple build sessions in the same process. +The input and output cache files have the same lifetime as the `ConfigCache` and the `ResultsCache`. The `ConfigCache` and the `ResultsCache` are owned by the [BuildManager](https://github.com/dotnet/msbuild/blob/main/src/Build/BackEnd/BuildManager/BuildManager.cs), and their lifetimes are one `BuildManager.BeginBuild` / `BuildManager.EndBuild` session. On commandline builds, since MSBuild.exe uses one BuildManager with one BeginBuild / EndBuild session, the cache lifetime is the same as the entire process lifetime. When other processes (e.g. Visual Studio's devenv.exe) perform msbuild builds via the `BuildManager` APIs, there can be multiple build sessions in the same process. -When MSBuild is loading input cache files, it has to merge multiple incoming instances of `ConfigCache` and `ResultsCache` into one instance of each. The [CacheAggregator](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/BuildManager/CacheAggregator.cs#L13) is responsible for stitching together the pairs of deserialized `ConfigCache`/`ResultsCache` entries from each input cache file. +When MSBuild is loading input cache files, it has to merge multiple incoming instances of `ConfigCache` and `ResultsCache` into one instance of each. The [CacheAggregator](https://github.com/dotnet/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/BuildManager/CacheAggregator.cs#L13) is responsible for stitching together the pairs of deserialized `ConfigCache`/`ResultsCache` entries from each input cache file. The following constraints are enforced during cache aggregation: - For each input cache, `ConfigCache.Entries.Size == ResultsCache.Entries.Size` - For each input cache, there is exactly one mapping from ConfigCache to ResultsCache (on `BuildResult.ConfigurationId` == `BuildRequestConfiguration.ConfigurationId`) @@ -35,17 +35,17 @@ The following constraints are enforced during cache aggregation: The output cache file **only contains results for additional work performed in the current BeginBuild / EndBuild session**. Entries from input caches are not transferred to the output cache. -Entries that make it into the output cache file are separated from entries serialized from input cache files via the use of [ConfigCacheWithOverride](https://github.com/microsoft/msbuild/blob/master/src/Build/BackEnd/Components/Caching/ConfigCacheWithOverride.cs) and [ResultsCacheWithOverride](https://github.com/microsoft/msbuild/blob/master/src/Build/BackEnd/Components/Caching/ResultsCacheWithOverride.cs). These are composite caches. Each contains two underlying caches: a cache where input caches files are loaded into (called the override cache), and a cache where new results are written into (called the current cache). Cache reads are satisified from both underlying caches (override cache is queried first, current cache is queried second). Writes are only written to the current cache, never into the override cache. The output cache file only contains the serialized current cache, and not the override cache, thus ensuring that only newly built results are serialized in the output cache file. It is illegal for both the current cache and override cache to contain entries for the same project configuration, a constraint that is checked by the two override caches on each cache read. +Entries that make it into the output cache file are separated from entries serialized from input cache files via the use of [ConfigCacheWithOverride](https://github.com/dotnet/msbuild/blob/main/src/Build/BackEnd/Components/Caching/ConfigCacheWithOverride.cs) and [ResultsCacheWithOverride](https://github.com/microsoft/msbuild/blob/master/src/Build/BackEnd/Components/Caching/ResultsCacheWithOverride.cs). These are composite caches. Each contains two underlying caches: a cache where input caches files are loaded into (called the override cache), and a cache where new results are written into (called the current cache). Cache reads are satisified from both underlying caches (override cache is queried first, current cache is queried second). Writes are only written to the current cache, never into the override cache. The output cache file only contains the serialized current cache, and not the override cache, thus ensuring that only newly built results are serialized in the output cache file. It is illegal for both the current cache and override cache to contain entries for the same project configuration, a constraint that is checked by the two override caches on each cache read. ## Isolation implementation -[Isolation constraints](static-graph.md##single-project-isolated-builds) are implemented in the Scheduler and the TaskBuilder. [TaskBuilder.ExecuteInstantiatedTask](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Components/RequestBuilder/TaskBuilder.cs#L743) ensures that the `MSBuild` task is only called on projects declared in `ProjectReference`. [Scheduler.CheckIfCacheMissOnReferencedProjectIsAllowedAndErrorIfNot](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Components/Scheduler/Scheduler.cs#L1818) ensures that all `MSBuild` tasks are cache hits. +[Isolation constraints](static-graph.md##single-project-isolated-builds) are implemented in the Scheduler and the TaskBuilder. [TaskBuilder.ExecuteInstantiatedTask](https://github.com/dotnet/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Components/RequestBuilder/TaskBuilder.cs#L743) ensures that the `MSBuild` task is only called on projects declared in `ProjectReference`. [Scheduler.CheckIfCacheMissOnReferencedProjectIsAllowedAndErrorIfNot](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Components/Scheduler/Scheduler.cs#L1818) ensures that all `MSBuild` tasks are cache hits. ### How isolation exemption complicates everything Project references [can be exempt](static-graph.md#exempting-references-from-isolation-constraints) from isolation constraints via the `GraphIsolationExemptReference` item. -The `Scheduler` knows to skip isolation constraints on an exempt `BuildRequest` because the [ProjectBuilder compares](https://github.com/microsoft/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Components/RequestBuilder/RequestBuilder.cs#L349) each new `BuildRequest` against the `GraphIsolationExemptReference` items defined in the calling project, and if exempt, sets `BuildRequest.SkipStaticGraphIsolationConstraints`. When a `BuildRequest` is marked as exempt, the `Scheduler` also marks its corresponding `BuildRequestConfiguration` as exempt as well, which aids in further identification of exempt projects outside the `Scheduler`. +The `Scheduler` knows to skip isolation constraints on an exempt `BuildRequest` because the [ProjectBuilder compares](https://github.com/dotnet/msbuild/blob/37c5a9fec416b403212a63f95f15b03dbd5e8b5d/src/Build/BackEnd/Components/RequestBuilder/RequestBuilder.cs#L349) each new `BuildRequest` against the `GraphIsolationExemptReference` items defined in the calling project, and if exempt, sets `BuildRequest.SkipStaticGraphIsolationConstraints`. When a `BuildRequest` is marked as exempt, the `Scheduler` also marks its corresponding `BuildRequestConfiguration` as exempt as well, which aids in further identification of exempt projects outside the `Scheduler`. The build results for the exempt project are also included in the current cache (according to the above mentioned rule that newly built results are serialized in the output cache file). This complicates the way caches interact in several scenarios: 1. the same project can be exempt via multiple references, thus potentially colliding when multiple output cache files containing the same exempt project get aggregated. For example, given the graph `{A->B, A->C}`, where both `B` and `C` build the exempt project `D`, `D` will appear in the output caches of both `B` and `C`. When `A` aggregates these two caches, it will encounter duplicate entries for `D`, and will need to merge the results. diff --git a/documentation/wiki/Binary-Log.md b/documentation/wiki/Binary-Log.md index e1895c63eba..7d3be80a19b 100644 --- a/documentation/wiki/Binary-Log.md +++ b/documentation/wiki/Binary-Log.md @@ -74,7 +74,7 @@ After installing that, enable logging and run your build ([more details](https:/ The implementation of the binary logger is here: https://source.dot.net/#Microsoft.Build/Logging/BinaryLogger/BinaryLogger.cs -https://github.com/Microsoft/msbuild/blob/master/src/Build/Logging/BinaryLogger/BinaryLogger.cs +https://github.com/dotnet/msbuild/blob/main/src/Build/Logging/BinaryLogger/BinaryLogger.cs It is a `GZipStream`-compressed binary stream of serialized `BuildEventArgs` objects. The event args objects are serialized and deserialized using: * https://source.dot.net/#Microsoft.Build/Logging/BinaryLogger/BuildEventArgsWriter.cs @@ -85,7 +85,7 @@ It is a `GZipStream`-compressed binary stream of serialized `BuildEventArgs` obj Every .binlog file has the first three bytes that indicate the file version. The current file format version is 9 (`00 00 09`). When incrementing the file format, keep this in mind: - * Increment the version and add a summary of the changes: https://github.com/Microsoft/msbuild/blob/master/src/Build/Logging/BinaryLogger/BinaryLogger.cs#L22 + * Increment the version and add a summary of the changes: https://github.com/dotnet/msbuild/blob/main/src/Build/Logging/BinaryLogger/BinaryLogger.cs#L22 * In BuildEventArgsWriter.cs, just add fields, etc. without worrying. * In BuildEventArgsReader.cs, add exactly the same changes, but wrapped in an `if`-statement like this: `if (fileFormatVersion > version where the field was introduced) * Open an issue over at https://github.com/KirillOsenkov/MSBuildStructuredLog/issues/new so I can adapt the Structured Log Viewer to these changes. diff --git a/documentation/wiki/Building-Testing-and-Debugging-on-Full-Framework-MSBuild.md b/documentation/wiki/Building-Testing-and-Debugging-on-Full-Framework-MSBuild.md index d7d81600bef..114bc177306 100644 --- a/documentation/wiki/Building-Testing-and-Debugging-on-Full-Framework-MSBuild.md +++ b/documentation/wiki/Building-Testing-and-Debugging-on-Full-Framework-MSBuild.md @@ -10,7 +10,7 @@ All command lines should be executed from a Visual Studio developer command prom ## Getting the code -1. Clone the repo: `git clone https://github.com/Microsoft/msbuild.git` +1. Clone the repo: `git clone https://github.com/dotnet/msbuild` 2. Build on the command line: `.\build.cmd` 1. If you encounter errors, see [Something's wrong in my build](Something's-wrong-in-my-build.md). 3. Open the solution file in Visual Studio (`MSBuild.Dev.slnf`). diff --git a/documentation/wiki/Interactions-with-the-internal-repository.md b/documentation/wiki/Interactions-with-the-internal-repository.md index 10b6d96bbb3..a6b0b414114 100644 --- a/documentation/wiki/Interactions-with-the-internal-repository.md +++ b/documentation/wiki/Interactions-with-the-internal-repository.md @@ -1,8 +1,8 @@ MSbuild got forked from an internal Microsoft repository. Although the Github repository is the official one, where development takes place, there are still some left-over connections to the internal one. This page attempts to document these. Changes to these files need to be migrated back into the internal repo because that's where they are localized: -- [src/XMakeCommandLine/Microsoft.Build.Core.xsd](https://github.com/Microsoft/msbuild/blob/xplat/src/XMakeCommandLine/Microsoft.Build.Core.xsd) -- [src/XMakeCommandLine/Microsoft.Build.CommonTypes.xsd](https://github.com/Microsoft/msbuild/blob/xplat/src/XMakeCommandLine/Microsoft.Build.CommonTypes.xsd) +- [src/XMakeCommandLine/Microsoft.Build.Core.xsd](https://github.com/dotnet/msbuild/blob/main/src/XMakeCommandLine/Microsoft.Build.Core.xsd) +- [src/XMakeCommandLine/Microsoft.Build.CommonTypes.xsd](https://github.com/dotnet/msbuild/blob/main/src/XMakeCommandLine/Microsoft.Build.CommonTypes.xsd) There should be no changes to the following files. They are shipped from the internal repo. The github ones are stale. -- [all XamlRules](https://github.com/Microsoft/msbuild/tree/xplat/src/XMakeTasks/XamlRules) \ No newline at end of file +- [all XamlRules](https://github.com/dotnet/msbuild/tree/main/src/XMakeTasks/XamlRules) \ No newline at end of file diff --git a/documentation/wiki/ResolveAssemblyReference.md b/documentation/wiki/ResolveAssemblyReference.md index cd0e51172b3..16a7bd65ad2 100644 --- a/documentation/wiki/ResolveAssemblyReference.md +++ b/documentation/wiki/ResolveAssemblyReference.md @@ -107,7 +107,7 @@ References can also have the `CopyLocal` metadata or not. If the reference has ` If the CopyLocal metadata is missing entirely, it is assumed to be true by default. So RAR by default tries to copy dependencies to output unless it finds a reason not to. RAR is quite detailed about the reasons why it chose a particular reference to be CopyLocal or not. All possible reasons for CopyLocal decision are enumerated here: -https://github.com/Microsoft/msbuild/blob/master/src/Tasks/AssemblyDependency/CopyLocalState.cs +https://github.com/dotnet/msbuild/blob/main/src/Tasks/AssemblyDependency/CopyLocalState.cs It is useful to know these strings to be able to search for them in build logs. ## Private item metadata @@ -118,7 +118,7 @@ An important part of determining CopyLocal is the Private metadata on all primar 3. If none of the source assemblies specify `Private=true` and at least one specifies `Private=false`, `CopyLocal` is set to `False` Here's the source code: -https://github.com/Microsoft/msbuild/blob/master/src/Tasks/AssemblyDependency/Reference.cs#L1243 +https://github.com/dotnet/msbuild/blob/main/src/Tasks/AssemblyDependency/Reference.cs#L1243 ## Which reference set Private to false? diff --git a/documentation/wiki/Something's-wrong-in-my-build.md b/documentation/wiki/Something's-wrong-in-my-build.md index 9b5603d5af4..c9073d37e9c 100644 --- a/documentation/wiki/Something's-wrong-in-my-build.md +++ b/documentation/wiki/Something's-wrong-in-my-build.md @@ -27,8 +27,8 @@ First, verify the `global.json` file in your repository is using a preview versi ![](https://user-images.githubusercontent.com/3347530/59614580-a795c900-90e6-11e9-8981-0fdbd08d42bd.png) ## Tools -Many debugging tools listed [here](https://github.com/Microsoft/msbuild/blob/master/documentation/wiki/MSBuild-Resources.md#tools). +Many debugging tools listed [here](https://github.com/dotnet/msbuild/blob/main/documentation/wiki/MSBuild-Resources.md#tools). [MSBuildStructuredLog](https://github.com/KirillOsenkov/MSBuildStructuredLog) can be used to get a clearer idea of what's going on in your build. MSBuildStructuredLog is graphical interface over MSBuild binary logs that visualizes a structured representation of executed targets, tasks, properties, and item values. It can be easier to look though than the diagnostic log. -![](https://raw.githubusercontent.com/KirillOsenkov/MSBuildStructuredLog/master/docs/Screenshot1.png) +![](https://raw.githubusercontent.com/KirillOsenkov/MSBuildStructuredLog/main/docs/Screenshot1.png) diff --git a/documentation/wiki/UnGAC.md b/documentation/wiki/UnGAC.md index 79f7a3ddc77..e0d45d729ee 100644 --- a/documentation/wiki/UnGAC.md +++ b/documentation/wiki/UnGAC.md @@ -7,7 +7,7 @@ See the [public documentation](https://docs.microsoft.com/dotnet/framework/app-d The only MSBuild assemblies you may see in the GAC are version 4.8. There is no reason any modern (15.1+) MSBuild assembly should be in the GAC today. ## What MSBuild Assemblies are installed on my Machine? -Run the [EnumerateMSBuild powershell script](https://github.com/Microsoft/msbuild/blob/master/scripts/EnumerateMSBuild.ps1) from our repo. It will output a `msbuild_versions.txt` file that lists MSBuild assemblies in their common folders along with their versions. +Run the [EnumerateMSBuild powershell script](https://github.com/dotnet/msbuild/blob/main/scripts/EnumerateMSBuild.ps1) from our repo. It will output a `msbuild_versions.txt` file that lists MSBuild assemblies in their common folders along with their versions. ## How to Remove MSBuild Assemblies from the GAC 1. If on Visual Studio 16.8 or higher, repair your installation. diff --git a/src/MSBuild/Resources/Strings.resx b/src/MSBuild/Resources/Strings.resx index f991888ab0c..0e870bd61ff 100644 --- a/src/MSBuild/Resources/Strings.resx +++ b/src/MSBuild/Resources/Strings.resx @@ -676,7 +676,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl diff --git a/src/MSBuild/Resources/xlf/Strings.cs.xlf b/src/MSBuild/Resources/xlf/Strings.cs.xlf index 3357d17f9e5..a5418bc3735 100644 --- a/src/MSBuild/Resources/xlf/Strings.cs.xlf +++ b/src/MSBuild/Resources/xlf/Strings.cs.xlf @@ -1542,7 +1542,7 @@ Copyright (C) Microsoft Corporation. Všechna práva vyhrazena. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1552,7 +1552,7 @@ Copyright (C) Microsoft Corporation. Všechna práva vyhrazena. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] Serializuje všechny události sestavení do komprimovaného binárního souboru. Tento soubor se standardně nachází v aktuálním adresáři a má název msbuild.binlog. Binární diff --git a/src/MSBuild/Resources/xlf/Strings.de.xlf b/src/MSBuild/Resources/xlf/Strings.de.xlf index 25bbe5047ee..fe6379ae049 100644 --- a/src/MSBuild/Resources/xlf/Strings.de.xlf +++ b/src/MSBuild/Resources/xlf/Strings.de.xlf @@ -1534,7 +1534,7 @@ Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1544,7 +1544,7 @@ Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] Serialisiert alle Buildereignisse in eine komprimierte Binärdatei. Standardmäßig befindet sich die Datei im aktuellen Verzeichnis und hat den Namen "msbuild.binlog". Das binäre Protokoll ist eine detaillierte Beschreibung diff --git a/src/MSBuild/Resources/xlf/Strings.en.xlf b/src/MSBuild/Resources/xlf/Strings.en.xlf index 0a83c78326a..311a846f81f 100644 --- a/src/MSBuild/Resources/xlf/Strings.en.xlf +++ b/src/MSBuild/Resources/xlf/Strings.en.xlf @@ -1045,7 +1045,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1088,7 +1088,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl diff --git a/src/MSBuild/Resources/xlf/Strings.es.xlf b/src/MSBuild/Resources/xlf/Strings.es.xlf index 9c43f2e54c7..0788961b4a8 100644 --- a/src/MSBuild/Resources/xlf/Strings.es.xlf +++ b/src/MSBuild/Resources/xlf/Strings.es.xlf @@ -1543,7 +1543,7 @@ Copyright (C) Microsoft Corporation. Todos los derechos reservados. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1553,7 +1553,7 @@ Copyright (C) Microsoft Corporation. Todos los derechos reservados. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] Serializa todos los eventos de compilación en un archivo binario comprimido. De manera predeterminada, el archivo se encuentra en el directorio actual y tiene diff --git a/src/MSBuild/Resources/xlf/Strings.fr.xlf b/src/MSBuild/Resources/xlf/Strings.fr.xlf index 8dffc1dcb1f..df3bc2b872b 100644 --- a/src/MSBuild/Resources/xlf/Strings.fr.xlf +++ b/src/MSBuild/Resources/xlf/Strings.fr.xlf @@ -1536,7 +1536,7 @@ Copyright (C) Microsoft Corporation. Tous droits réservés. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1546,7 +1546,7 @@ Copyright (C) Microsoft Corporation. Tous droits réservés. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] Sérialise tous les événements de build dans un fichier binaire compressé. Par défaut, le fichier se trouve dans le répertoire actif et se nomme "msbuild.binlog". Le journal binaire est une description détaillée diff --git a/src/MSBuild/Resources/xlf/Strings.it.xlf b/src/MSBuild/Resources/xlf/Strings.it.xlf index 86e4bea0a6f..4923a3f18f9 100644 --- a/src/MSBuild/Resources/xlf/Strings.it.xlf +++ b/src/MSBuild/Resources/xlf/Strings.it.xlf @@ -1557,7 +1557,7 @@ Copyright (C) Microsoft Corporation. Tutti i diritti sono riservati. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1567,7 +1567,7 @@ Copyright (C) Microsoft Corporation. Tutti i diritti sono riservati. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] Serializza tutti gli eventi di compilazione in un file binario compresso. Per impostazione predefinita, il file si trova nella directory corrente e si chiama diff --git a/src/MSBuild/Resources/xlf/Strings.ja.xlf b/src/MSBuild/Resources/xlf/Strings.ja.xlf index 1e8e62c4691..e968c0b1817 100644 --- a/src/MSBuild/Resources/xlf/Strings.ja.xlf +++ b/src/MSBuild/Resources/xlf/Strings.ja.xlf @@ -1534,7 +1534,7 @@ Copyright (C) Microsoft Corporation.All rights reserved. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1544,7 +1544,7 @@ Copyright (C) Microsoft Corporation.All rights reserved. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] すべてのビルド イベントを圧縮バイナリ ファイルにシリアル化します。 既定では、このファイルは "msbuild.binlog" という名前で 現在のディレクトリに置かれます。バイナリ ログはビルド プロセスの diff --git a/src/MSBuild/Resources/xlf/Strings.ko.xlf b/src/MSBuild/Resources/xlf/Strings.ko.xlf index 365eb71c56d..6d33e3f9d3e 100644 --- a/src/MSBuild/Resources/xlf/Strings.ko.xlf +++ b/src/MSBuild/Resources/xlf/Strings.ko.xlf @@ -1534,7 +1534,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1544,7 +1544,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] 모든 빌드 이벤트를 압축된 이진 파일로 직렬화합니다. 기본적으로 이 파일은 현재 디렉터리에 있으며 이름은 "msbuild.binlog"입니다. 이진 로그는 빌드 프로세스를 diff --git a/src/MSBuild/Resources/xlf/Strings.pl.xlf b/src/MSBuild/Resources/xlf/Strings.pl.xlf index 160f1b243b0..fb78441f4de 100644 --- a/src/MSBuild/Resources/xlf/Strings.pl.xlf +++ b/src/MSBuild/Resources/xlf/Strings.pl.xlf @@ -1547,7 +1547,7 @@ Copyright (C) Microsoft Corporation. Wszelkie prawa zastrzeżone. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1557,7 +1557,7 @@ Copyright (C) Microsoft Corporation. Wszelkie prawa zastrzeżone. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]wyjście.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]wyjście.binlog[;ProjectImports={None,Embed,ZipFile}]] Serializuje wszystkie zdarzenia kompilacji do skompresowanego pliku binarnego. Domyślnie plik znajduje się w bieżącym katalogu i ma nazwę „msbuild.binlog”. Dziennik binarny to szczegółowy opis procesu diff --git a/src/MSBuild/Resources/xlf/Strings.pt-BR.xlf b/src/MSBuild/Resources/xlf/Strings.pt-BR.xlf index fae30f6dafe..f7a427098f7 100644 --- a/src/MSBuild/Resources/xlf/Strings.pt-BR.xlf +++ b/src/MSBuild/Resources/xlf/Strings.pt-BR.xlf @@ -1535,7 +1535,7 @@ isoladamente. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1545,7 +1545,7 @@ isoladamente. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] Serializa todos os eventos de build para um arquivo binário compactado. Por padrão, o arquivo está no diretório atual e é chamado de "msbuild.binlog". O log binário é uma descrição detalhada diff --git a/src/MSBuild/Resources/xlf/Strings.ru.xlf b/src/MSBuild/Resources/xlf/Strings.ru.xlf index 2bdd38238f4..33cc6ef1ea5 100644 --- a/src/MSBuild/Resources/xlf/Strings.ru.xlf +++ b/src/MSBuild/Resources/xlf/Strings.ru.xlf @@ -1536,7 +1536,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1546,7 +1546,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] Сериализует все события сборки в сжатый двоичный файл. По умолчанию файл находится в текущем каталоге и называется "msbuild.binlog". Двоичный журнал включает подробное описание diff --git a/src/MSBuild/Resources/xlf/Strings.tr.xlf b/src/MSBuild/Resources/xlf/Strings.tr.xlf index 202406cbc31..712b6560fe7 100644 --- a/src/MSBuild/Resources/xlf/Strings.tr.xlf +++ b/src/MSBuild/Resources/xlf/Strings.tr.xlf @@ -1538,7 +1538,7 @@ Telif Hakkı (C) Microsoft Corporation. Tüm hakları saklıdır. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1548,7 +1548,7 @@ Telif Hakkı (C) Microsoft Corporation. Tüm hakları saklıdır. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] Tüm derleme olaylarını sıkıştırılmış bir ikili dosyada seri hale getirir. Varsayılan olarak, dosya geçerli dizinde bulunur ve "msbuild.binlog" olarak adlandırılır. Daha sonra metin günlüklerini yeniden diff --git a/src/MSBuild/Resources/xlf/Strings.zh-Hans.xlf b/src/MSBuild/Resources/xlf/Strings.zh-Hans.xlf index 4ce44b14456..2118653f1f7 100644 --- a/src/MSBuild/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/MSBuild/Resources/xlf/Strings.zh-Hans.xlf @@ -1534,7 +1534,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1544,7 +1544,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] 将所有生成事件序列化为压缩的二进制文件。 默认情况下该文件位于当前目录并且名为 "msbuild.binlog"。 二进制日志是生成过程的详细描述, diff --git a/src/MSBuild/Resources/xlf/Strings.zh-Hant.xlf b/src/MSBuild/Resources/xlf/Strings.zh-Hant.xlf index 8b0536d6981..4bf83939d3a 100644 --- a/src/MSBuild/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/MSBuild/Resources/xlf/Strings.zh-Hant.xlf @@ -1534,7 +1534,7 @@ Copyright (C) Microsoft Corporation. 著作權所有,並保留一切權利。 Other loggers will receive the information contained in the log file as if the original build was happening. You can read more about the binary log and its usages at: - https://github.com/Microsoft/msbuild/wiki/Binary-Log + https://aka.ms/msbuild/binlog Examples: -bl @@ -1544,7 +1544,7 @@ Copyright (C) Microsoft Corporation. 著作權所有,並保留一切權利。 -bl:..\..\custom.binlog -binaryLogger - -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] + -binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]] 將所有建置事件序列化成壓縮的二進位檔案。 根據預設,此檔案存放在目前的目錄下, 並會命名為 "msbuild.binlog"。此二進位記錄檔是