From 4fe35fd36386898d4b4c3770770f72868956e8a4 Mon Sep 17 00:00:00 2001 From: Christer van der Meeren Date: Fri, 19 Aug 2022 08:29:33 +0200 Subject: [PATCH 1/3] Add DisableImplicitLibraryPacksFolder --- .../DisableImplicitLibraryPacksFolder.md | 18 ++++++++++++++++++ .../Sdk/Sdk.props | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 Documentation/Reproducible-MSBuild/Techniques/DisableImplicitLibraryPacksFolder.md diff --git a/Documentation/Reproducible-MSBuild/Techniques/DisableImplicitLibraryPacksFolder.md b/Documentation/Reproducible-MSBuild/Techniques/DisableImplicitLibraryPacksFolder.md new file mode 100644 index 0000000..9b5355f --- /dev/null +++ b/Documentation/Reproducible-MSBuild/Techniques/DisableImplicitLibraryPacksFolder.md @@ -0,0 +1,18 @@ +# DisableImplicitLibraryPacksFolder + +Similar to [`DisableImplicitNuGetFallbackFolder`](./DisableImplicitNuGetFallbackFolder.md), Microsoft.NET.NuGetOfflineCache.targets (imported by Microsoft.NET.Sdk.BeforeCommon.targets) adds an extra search path for nuget packages that is not controlled by the user nuget.config. It will add the `sdk//FSharp/NuGetFallbackFolder` from your dotnet installation to the set of nuget search locations. At the time of writing, this location is used to distribute the FSharp.Core NuGet package, which is generally referenced by all F# projects (and, transitively, all projects that reference projects and NuGet packages created with F#). This could potentially poison your nuget cache between repos, even if you've configured per-repo nuget caches. + + +## Usage + +In Directory.Build.props + +```xml + + true + +``` + +## References +- [Microsoft.NET.NuGetOfflineCache.targets](https://github.com/dotnet/sdk/blob/main/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.NuGetOfflineCache.targets) +- Official documentation: none? \ No newline at end of file diff --git a/src/DotNet.ReproducibleBuilds.Isolated/Sdk/Sdk.props b/src/DotNet.ReproducibleBuilds.Isolated/Sdk/Sdk.props index 2ac6453..832ef4a 100644 --- a/src/DotNet.ReproducibleBuilds.Isolated/Sdk/Sdk.props +++ b/src/DotNet.ReproducibleBuilds.Isolated/Sdk/Sdk.props @@ -43,9 +43,10 @@ true + true \ No newline at end of file From 01814ad642b6ad6cdb5d9d4d97f20c3bd1043b2a Mon Sep 17 00:00:00 2001 From: Christer van der Meeren Date: Fri, 19 Aug 2022 08:32:10 +0200 Subject: [PATCH 2/3] Fix typo --- .../Techniques/DisableImplicitLibraryPacksFolder.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/Reproducible-MSBuild/Techniques/DisableImplicitLibraryPacksFolder.md b/Documentation/Reproducible-MSBuild/Techniques/DisableImplicitLibraryPacksFolder.md index 9b5355f..f58ef5f 100644 --- a/Documentation/Reproducible-MSBuild/Techniques/DisableImplicitLibraryPacksFolder.md +++ b/Documentation/Reproducible-MSBuild/Techniques/DisableImplicitLibraryPacksFolder.md @@ -1,6 +1,6 @@ # DisableImplicitLibraryPacksFolder -Similar to [`DisableImplicitNuGetFallbackFolder`](./DisableImplicitNuGetFallbackFolder.md), Microsoft.NET.NuGetOfflineCache.targets (imported by Microsoft.NET.Sdk.BeforeCommon.targets) adds an extra search path for nuget packages that is not controlled by the user nuget.config. It will add the `sdk//FSharp/NuGetFallbackFolder` from your dotnet installation to the set of nuget search locations. At the time of writing, this location is used to distribute the FSharp.Core NuGet package, which is generally referenced by all F# projects (and, transitively, all projects that reference projects and NuGet packages created with F#). This could potentially poison your nuget cache between repos, even if you've configured per-repo nuget caches. +Similar to [`DisableImplicitNuGetFallbackFolder`](./DisableImplicitNuGetFallbackFolder.md), Microsoft.NET.NuGetOfflineCache.targets (imported by Microsoft.NET.Sdk.BeforeCommon.targets) adds an extra search path for nuget packages that is not controlled by the user nuget.config. It will add the `sdk//FSharp` from your dotnet installation to the set of nuget search locations. At the time of writing, this location is used to distribute the FSharp.Core NuGet package, which is generally referenced by all F# projects (and, transitively, all projects that reference projects and NuGet packages created with F#). This could potentially poison your nuget cache between repos, even if you've configured per-repo nuget caches. ## Usage From 92e661fdc9c0e5ebe0c6ac5393beb360081bb10c Mon Sep 17 00:00:00 2001 From: Christer van der Meeren Date: Fri, 19 Aug 2022 10:19:17 +0200 Subject: [PATCH 3/3] Add TOC entry for DisableImplicitLibraryPacksFolder --- Documentation/Reproducible-MSBuild/Techniques/toc.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/Reproducible-MSBuild/Techniques/toc.md b/Documentation/Reproducible-MSBuild/Techniques/toc.md index f883fef..271b39c 100644 --- a/Documentation/Reproducible-MSBuild/Techniques/toc.md +++ b/Documentation/Reproducible-MSBuild/Techniques/toc.md @@ -2,6 +2,7 @@ - [AssemblySearchPaths](./AssemblySearchPaths.md) - [DisableImplicitNuGetFallbackFolder](./DisableImplicitNuGetFallbackFolder.md) +- [DisableImplicitLibraryPacksFolder](./DisableImplicitLibraryPacksFolder.md) - [DOTNET_MULTILEVEL_LOOKUP](./DOTNET_MULTILEVEL_LOOKUP.md) - [NetCoreTargetingPackRoot](./NetCoreTargetingPackRoot.md) - [NUGET_XMLDOC_MODE](./NUGET_XMLDOC_MODE.md)