microsoft / microsoft/MSBuildCache
Microsoft.CodeAnalysis build error
Nessuno ha ancora preso questa issue.
- Lingua principale
- C#
- Stelle
- 64
- Fork
- 24
- Merge medio
- 1g 14h
- PR unite (30g)
- 2
Descrizione
When testing out MSBuildCache on my solution, I am getting a build error related to Microsoft.CodeAnalysis 3.8.00, from one of our projects that itself references a difference Microsoft.CodeAnalysis version:
https://github.com/microsoft/MSBuildCache/blob/main/Directory.Packages.props#L29 references <PackageVersion Include="Microsoft.CodeAnalysis" Version="3.8.0" /> so it appears they are clashing?
NB I'm using dotnet build here - is it unsupported and I need a VS Install?
dotnet build -c Release
C:\Users\<snip>\.nuget\packages\microsoft.msbuildcache.sharedcompilation\0.1.318-preview\build\Microsoft.MSBuildCache.Shared
Compilation.targets(9,5): error MSB4018: The "ResolveFileAccesses" task failed unexpectedly. [C:\src\Foo\src\CodeAnalysis\src
\Foo.CodeAnalysis\Foo.CodeAnalysis.csproj]
C:\Users\<snip>\.nuget\packages\microsoft.msbuildcache.sharedcompilation\0.1.318-preview\build\Microsoft.MSBuildCache.Shared
Compilation.targets(9,5): error MSB4018: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.CodeAnalysis, V
ersion=3.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified. [C:\src\Foo\src
\CodeAnalysis\src\Foo.CodeAnalysis\Foo.CodeAnalysis.csproj]
Foo.CodeAnalysis.csproj
...
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" />
<PackageReference Include="NETStandard.Library" />
</ItemGroup>
...
Directory.Build.props
<ItemGroup Condition="'$(MSBuildProjectName)'!='Foo.CodeAnalysis' AND '$(MSBuildProjectName)'!='Foo.CodeAnalysis.Test'">
<ProjectReference Include="$(MSBuildThisFileDirectory)\CodeAnalysis\src\Foo.CodeAnalysis\Foo.CodeAnalysis.csproj"
PrivateAssets="all"
ReferenceOutputAssembly="false"
OutputItemType="Analyzer"/>
</ItemGroup>
Directory.Packages.props
...
<ItemGroup >
<GlobalPackageReference Include="Microsoft.MSBuildCache.SharedCompilation" Version="0.1.318-preview" />
<GlobalPackageReference Include="Microsoft.MSBuildCache.Local" Version="0.1.318-preview" />
</ItemGroup>
...
<PackageVersion Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.4" />
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.0.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.0.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Features" Version="4.0.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.0.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.0.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing.NUnit" Version="1.1.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.CodeFix.Testing.NUnit" Version="1.1.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.CodeFix.Testing" Version="1.1.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing" Version="1.1.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.Features" Version="4.0.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Scripting.Common" Version="4.0.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.0.1" />
...
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il problema con dotnet build -c Release, quindi esamina Directory.Packages.props, Directory.Build.props e Foo.CodeAnalysis.csproj insieme ai target Microsoft.MSBuildCache.SharedCompilation indicati nell'errore. Traccia la discrepanza di versione di Microsoft.CodeAnalysis e verifica che il progetto interessato venga compilato correttamente senza l'errore di caricamento dell'assembly ResolveFileAccesses.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp
- Ambito
- build-system, tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100