NuGet/Home

System.FormatException thrown when restoring package with invalid copyToOutput attribute on content files

Open

#10 303 ouverte le 19 nov. 2020

Voir sur GitHub
 (0 commentaires) (0 réactions) (0 assignés)HTML (292 forks)batch import
Area:ErrorHandlingFunctionality:RestorePriority:3Type:Bughelp wanted

Métriques du dépôt

Stars
 (1 459 stars)
Métriques de merge PR
 (Merge moyen 464j 23h) (1 PR mergée en 30 j)

Description

Details about Problem

NuGet product used (NuGet.exe | VS UI | Package Manager Console | dotnet.exe): msbuild.exe as part of Visual Studio 16.8.1

NuGet.Build.Tasks version: 5.8.0.6930

msbuild -version: Microsoft (R) Build Engine version 16.8.1+bd2ea1e3c for .NET Framework Copyright (C) Microsoft Corporation. All rights reserved.

16.8.1.52902 VS version (if appropriate) 16.8.1

OS version (i.e. win10 v1607 (14393.321)): win10 v1909 (18363.1082)

Worked before? If so, with which NuGet version: Not sure

Detailed repro steps so we can see the same problem

  1. Create a nuget package with a non-bool value for a copyToOutput attribute ("PreserveNewest" and/or "Never") were used in my case.

  2. Add a reference to that NuGet package using a item in a .NET SDK project

  3. Run msbuild /t:restore on the project.

  4. The restore fails with a System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. thrown from NuspecReader.AttributeAsNullableBool instead of a more helpful PackagingException with information about the actual package issue.

Verbose Logs

MsBuild logs are uploaded in logfiles.zip

Sample Project

Download and extract reproduce.zip and call msbuild reproduce.proj

Guide contributeur