Skip to content

Commit eb748f0

Browse files
Fix MSBL001 error after upgrading Microsoft.Build.Locator to 1.11.2
Changes: - Added explicit Microsoft.Build.* package refs (v18.0.2) with ExcludeAssets="runtime" and PrivateAssets="all" to override transitive dependencies from Workspaces.MSBuild and NuGet packages - Added ExcludeAssets="runtime" to all NuGet.* package references - Added missing PrivateAssets="all" to NuGet.PackageManagement The explicit refs are needed because transitive dependencies don't have the required attributes, and I could not find a way to set attributes on transitive deps - only direct PackageReferences...
1 parent fdd9ad6 commit eb748f0

File tree

4 files changed

+86
-82
lines changed

4 files changed

+86
-82
lines changed
Lines changed: 51 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,71 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<TargetFramework>net10.0</TargetFramework>
5-
<Nullable>enable</Nullable>
6-
</PropertyGroup>
3+
<PropertyGroup>
4+
<TargetFramework>net10.0</TargetFramework>
5+
<Nullable>enable</Nullable>
6+
</PropertyGroup>
77

8-
<ItemGroup>
9-
<PackageReference Include="Ben.Demystifier" Version="0.4.1" />
10-
<PackageReference Include="ICSharpCode.Decompiler" Version="9.1.0.7988" />
11-
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0">
12-
<PrivateAssets>all</PrivateAssets>
13-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14-
</PackageReference>
15-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="5.0.0" />
16-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Features" Version="5.0.0" />
17-
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.MSBuild" Version="5.0.0" />
18-
<PackageReference Include="Microsoft.Build.Locator" Version="1.7.8" />
19-
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="10.0.0" />
20-
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="10.0.0" />
21-
<PackageReference Include="Microsoft.SymbolStore" Version="1.0.555801" />
22-
<PackageReference Include="OpenAI" Version="2.7.0" />
23-
<PackageReference Include="PrettyPrompt" Version="4.1.1" />
24-
<PackageReference Include="Spectre.Console.Cli" Version="0.53.0" />
25-
<PackageReference Include="System.IO.Abstractions" Version="22.1.0" />
26-
<PackageReference Include="System.Configuration.ConfigurationManager" Version="10.0.0" />
27-
</ItemGroup>
8+
<ItemGroup>
9+
<PackageReference Include="Ben.Demystifier" Version="0.4.1" />
10+
<PackageReference Include="ICSharpCode.Decompiler" Version="9.1.0.7988" />
11+
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0">
12+
<PrivateAssets>all</PrivateAssets>
13+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14+
</PackageReference>
15+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="5.0.0" />
16+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Features" Version="5.0.0" />
17+
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.MSBuild" Version="5.0.0" />
18+
<PackageReference Include="Microsoft.Build.Locator" Version="1.11.2" />
19+
<PackageReference Include="Microsoft.Build.Framework" Version="18.0.2" PrivateAssets="all" ExcludeAssets="runtime" />
20+
<PackageReference Include="Microsoft.Build" Version="18.0.2" PrivateAssets="all" ExcludeAssets="runtime" />
21+
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="18.0.2" PrivateAssets="all" ExcludeAssets="runtime" />
22+
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="18.0.2" PrivateAssets="all" ExcludeAssets="runtime" />
23+
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="10.0.1" />
24+
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="10.0.1" />
25+
<PackageReference Include="Microsoft.SymbolStore" Version="1.0.555801" />
26+
<PackageReference Include="OpenAI" Version="2.7.0" />
27+
<PackageReference Include="PrettyPrompt" Version="4.1.1" />
28+
<PackageReference Include="Spectre.Console.Cli" Version="0.53.1" />
29+
<PackageReference Include="System.IO.Abstractions" Version="22.1.0" />
30+
<PackageReference Include="System.Configuration.ConfigurationManager" Version="10.0.1" />
31+
</ItemGroup>
2832

29-
<!--
33+
<!--
3034
Use PrivateAssets for nuget dependencies, so we load the nuget dlls that are
3135
bundled from the host runtime instead.
3236
https://github.com/microsoft/qsharp-compiler/issues/1470
3337
https://github.com/OmniSharp/omnisharp-roslyn/commit/efeafeca33abe1d19659ed8c7ebab1d7c3481188
3438
-->
35-
<ItemGroup>
36-
<PackageReference Include="NuGet.PackageManagement" Version="7.0.0" />
37-
<PackageReference Include="NuGet.Common" Version="7.0.0" PrivateAssets="all" />
38-
<PackageReference Include="NuGet.Commands" Version="7.0.0" PrivateAssets="all" />
39-
<PackageReference Include="NuGet.Credentials" Version="7.0.0" PrivateAssets="all" />
40-
<PackageReference Include="NuGet.Configuration" Version="7.0.0" PrivateAssets="all" />
41-
<PackageReference Include="NuGet.DependencyResolver.Core" Version="7.0.0" PrivateAssets="all" />
42-
<PackageReference Include="NuGet.Frameworks" Version="7.0.0" PrivateAssets="all" />
43-
<PackageReference Include="NuGet.LibraryModel" Version="7.0.0" PrivateAssets="all" />
44-
<PackageReference Include="NuGet.Packaging.Core" Version="6.9.1" PrivateAssets="all" />
45-
<PackageReference Include="NuGet.Packaging" Version="7.0.0" PrivateAssets="all" />
46-
<PackageReference Include="NuGet.ProjectModel" Version="7.0.0" PrivateAssets="all" />
47-
<PackageReference Include="NuGet.Protocol" Version="7.0.0" PrivateAssets="all" />
48-
<PackageReference Include="NuGet.Versioning" Version="7.0.0" PrivateAssets="all" />
39+
<ItemGroup>
40+
<PackageReference Include="NuGet.PackageManagement" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
41+
<PackageReference Include="NuGet.Common" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
42+
<PackageReference Include="NuGet.Commands" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
43+
<PackageReference Include="NuGet.Credentials" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
44+
<PackageReference Include="NuGet.Configuration" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
45+
<PackageReference Include="NuGet.DependencyResolver.Core" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
46+
<PackageReference Include="NuGet.Frameworks" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
47+
<PackageReference Include="NuGet.LibraryModel" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
48+
<PackageReference Include="NuGet.Packaging.Core" Version="6.9.1" PrivateAssets="all" ExcludeAssets="runtime" />
49+
<PackageReference Include="NuGet.Packaging" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
50+
<PackageReference Include="NuGet.ProjectModel" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
51+
<PackageReference Include="NuGet.Protocol" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
52+
<PackageReference Include="NuGet.Versioning" Version="7.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
4953
</ItemGroup>
5054

5155

5256
<ItemGroup>
53-
<InternalsVisibleTo Include="CSharpRepl.Tests" />
54-
</ItemGroup>
57+
<InternalsVisibleTo Include="CSharpRepl.Tests" />
58+
</ItemGroup>
5559

5660

5761
<ItemGroup>
58-
<EmbeddedResource Include="RuntimeHelper.cs" />
62+
<EmbeddedResource Include="RuntimeHelper.cs" />
5963
</ItemGroup>
6064

61-
<ItemGroup>
62-
<None Update="runtime.json">
63-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
64-
</None>
65-
</ItemGroup>
65+
<ItemGroup>
66+
<None Update="runtime.json">
67+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
68+
</None>
69+
</ItemGroup>
6670

6771
</Project>
Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<TargetFramework>net10.0</TargetFramework>
5-
<IsPackable>false</IsPackable>
6-
</PropertyGroup>
3+
<PropertyGroup>
4+
<TargetFramework>net10.0</TargetFramework>
5+
<IsPackable>false</IsPackable>
6+
</PropertyGroup>
77

8-
<ItemGroup>
9-
<Compile Remove="Data\**" />
10-
</ItemGroup>
8+
<ItemGroup>
9+
<Compile Remove="Data\**" />
10+
</ItemGroup>
1111

12-
<ItemGroup>
13-
<Content Include="Data\**" CopyToOutputDirectory="PreserveNewest" />
14-
</ItemGroup>
12+
<ItemGroup>
13+
<Content Include="Data\**" CopyToOutputDirectory="PreserveNewest" />
14+
</ItemGroup>
1515

16-
<ItemGroup>
16+
<ItemGroup>
1717
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
18-
<PackageReference Include="NSubstitute" Version="5.3.0" />
19-
<PackageReference Include="PrettyPrompt" Version="4.1.1" />
20-
<PackageReference Include="Spectre.Console.Testing" Version="0.54.0" />
21-
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="22.1.0" />
22-
<PackageReference Include="xunit" Version="2.9.3" />
23-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
24-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
25-
<PrivateAssets>all</PrivateAssets>
26-
</PackageReference>
27-
<PackageReference Include="coverlet.collector" Version="6.0.4">
28-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
29-
<PrivateAssets>all</PrivateAssets>
30-
</PackageReference>
31-
<PackageReference Include="coverlet.msbuild" Version="6.0.4">
32-
<PrivateAssets>all</PrivateAssets>
33-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
34-
</PackageReference>
35-
</ItemGroup>
18+
<PackageReference Include="NSubstitute" Version="5.3.0" />
19+
<PackageReference Include="PrettyPrompt" Version="4.1.1" />
20+
<PackageReference Include="Spectre.Console.Testing" Version="0.54.0" />
21+
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="22.1.0" />
22+
<PackageReference Include="xunit" Version="2.9.3" />
23+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
24+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
25+
<PrivateAssets>all</PrivateAssets>
26+
</PackageReference>
27+
<PackageReference Include="coverlet.collector" Version="6.0.4">
28+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
29+
<PrivateAssets>all</PrivateAssets>
30+
</PackageReference>
31+
<PackageReference Include="coverlet.msbuild" Version="6.0.4">
32+
<PrivateAssets>all</PrivateAssets>
33+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
34+
</PackageReference>
35+
</ItemGroup>
3636

37-
<ItemGroup>
38-
<ProjectReference Include="..\CSharpRepl.Services\CSharpRepl.Services.csproj" />
39-
<ProjectReference Include="..\CSharpRepl\CSharpRepl.csproj" />
40-
</ItemGroup>
37+
<ItemGroup>
38+
<ProjectReference Include="..\CSharpRepl.Services\CSharpRepl.Services.csproj" />
39+
<ProjectReference Include="..\CSharpRepl\CSharpRepl.csproj" />
40+
</ItemGroup>
4141
</Project>

CSharpRepl/CSharpRepl.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<ItemGroup>
2828
<PackageReference Include="PrettyPrompt" Version="4.1.1" />
2929
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
30-
<PackageReference Include="System.Reflection.MetadataLoadContext" Version="10.0.0" />
30+
<PackageReference Include="System.Reflection.MetadataLoadContext" Version="10.0.1" />
3131
</ItemGroup>
3232

3333
<ItemGroup>

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ C# REPL provides the following features:
2424

2525
## Installation
2626

27-
C# REPL is a .NET 9 global tool, and runs on Windows, Mac OS, and Linux. It can be installed [from NuGet](https://www.nuget.org/packages/CSharpRepl) via:
27+
C# REPL is a .NET 10 global tool, and runs on Windows, Mac OS, and Linux. It can be installed [from NuGet](https://www.nuget.org/packages/CSharpRepl) via:
2828

2929
```console
3030
dotnet tool install -g csharprepl

0 commit comments

Comments
 (0)