MSBuild.CompilerCache
0.7.4
See the version list below for details.
dotnet add package MSBuild.CompilerCache --version 0.7.4
NuGet\Install-Package MSBuild.CompilerCache -Version 0.7.4
<PackageReference Include="MSBuild.CompilerCache" Version="0.7.4" />
paket add MSBuild.CompilerCache --version 0.7.4
#r "nuget: MSBuild.CompilerCache, 0.7.4"
// Install MSBuild.CompilerCache as a Cake Addin #addin nuget:?package=MSBuild.CompilerCache&version=0.7.4 // Install MSBuild.CompilerCache as a Cake Tool #tool nuget:?package=MSBuild.CompilerCache&version=0.7.4
What is this?
MSBuild.CompilerCache
is a package that provides machine-wide or distributed caching of C# and F# project compilation.
It extends the CoreCompile
targets from the .NET SDK with caching steps and uses custom MSBuild tasks that perform the actual caching.
How does it work?
- Before
Csc
orFsc
task is invoked, we calculate a hash of all the relevant compilation inputs. - If a cache entry exists with that hash, we simply copy the files and skip compilation.
- If the file does not exist, we run compilation and then populate the cache.
How can I use it?
⚠️ The project is in an experimental phase. It is known to have issues, like limited debugging ability and potential incorrect cache hits. Please keep that in mind before using.
To use the cache, add the following to your project file (or Directory.Build.props
in your directory structure):
<PropertyGroup>
<CompilationCacheConfigPath>c:/accessible/filesystem/location/compilation_config.json</CompilationCacheConfigPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MSBuild.CompilerCache" Version="0.6.4" />
</ItemGroup>
and create a config file like one below:
{
"BaseCacheDir": "c:/compilation_cache"
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.13.7 | 226 | 8/12/2023 |
0.12.7 | 231 | 6/11/2023 |
0.12.6 | 198 | 6/11/2023 |
0.12.5 | 211 | 6/11/2023 |
0.12.3 | 209 | 6/11/2023 |
0.11.16 | 223 | 6/7/2023 |
0.10.6 | 189 | 5/29/2023 |
0.10.5 | 189 | 5/27/2023 |
0.9.6 | 203 | 5/24/2023 |
0.9.5 | 193 | 5/23/2023 |
0.9.4 | 195 | 5/23/2023 |
0.8.5 | 199 | 5/21/2023 |
0.7.4 | 195 | 5/12/2023 |
0.6.4 | 250 | 5/11/2023 |
0.5.5 | 218 | 5/11/2023 |
0.4.6 | 230 | 4/20/2023 |
0.3.4 | 243 | 4/19/2023 |
0.2.1 | 237 | 4/14/2023 |
0.0.2 | 245 | 3/29/2023 |
0.0.1 | 271 | 3/29/2023 |