Skip to content

SourceRoots not set correctly from NuGetPackageFolders #9810

@tmat

Description

@tmat

The generated props file for the project (git-test1\obj\git-test1.csproj.nuget.g.props) contains:

    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\<user-name>\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
  </PropertyGroup>
...
  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <SourceRoot Include="$([MSBuild]::EnsureTrailingSlash($(NuGetPackageFolders)))" />
  </ItemGroup>

This adds a single item to SourceRoot with ItemSpec = C:\Users\Tomas\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder\. Instead, we need 2 items: C:\Users\<user-name>\.nuget\packages\ and C:\Program Files\dotnet\sdk\NuGetFallbackFolder\.

Possible fix:

  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
     <_NuGetPackageFolders Include="$(NuGetPackageFolders)" NormalizedPath="$([MSBuild]::EnsureTrailingSlash(%(Identity)))" />
    <SourceRoot Include="@(_NuGetPackageFolders->'%(NormalizedPath)')" />
  </ItemGroup>

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions