Не удалось упаковать пакет Nuget на VSTS не удалось привести объект типа " System.Строка "для ввода" NuGet.Интегрированные системы.NuGetFramework'
при запуске "pack" я получаю следующую ошибку...
2017-07-05T10:37:09.7762333Z ##[section]Starting: NuGet pack
2017-07-05T10:37:09.7762333Z ==============================================================================
2017-07-05T10:37:09.7762333Z Task : NuGet
2017-07-05T10:37:09.7762333Z Description : Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Package Management and MyGet.
2017-07-05T10:37:09.7762333Z Version : 2.0.3
2017-07-05T10:37:09.7762333Z Author : Microsoft Corporation
2017-07-05T10:37:09.7762333Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=613747)
2017-07-05T10:37:09.7762333Z ==============================================================================
2017-07-05T10:37:10.9664575Z Downloading: https://dist.nuget.org/win-x86-commandline/v4.0.0/nuget.exe
2017-07-05T10:37:11.0954621Z Caching tool: NuGet 4.0.0 x64
2017-07-05T10:37:11.1084622Z Using version: 4.0.0
2017-07-05T10:37:11.1094622Z Found tool in cache: NuGet 4.0.0 x64
2017-07-05T10:37:11.1214629Z [command]C:Windowssystem32chcp.com 65001
2017-07-05T10:37:11.1634626Z Active code page: 65001
2017-07-05T10:37:11.2234637Z Attempting to pack file: d:assrcEsoterixEsoterix.csproj
2017-07-05T10:37:11.2294640Z [command]d:a_toolNuGet.0.0x64nuget.exe pack d:assrcEsoterixEsoterix.csproj -NonInteractive -OutputDirectory d:aa -Properties Configuration=release -version 1.0.0-CI-201765-103711 -Verbosity Detailed
2017-07-05T10:37:12.3087180Z NuGet Version: 4.0.0.2283
2017-07-05T10:37:12.3187144Z Attempting to build package from 'Esoterix.csproj'.
2017-07-05T10:37:12.7569409Z MSBuild auto-detection: using msbuild version '15.1.1012.6693' from 'C:Program Files (x86)Microsoft Visual Studio17EnterpriseMSBuild.0bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild.
2017-07-05T10:37:15.3118046Z Packing files from 'd:assrcEsoterixbinreleasenetcoreapp1.1'.
2017-07-05T10:37:15.7119285Z Add file 'd:assrcEsoterixbinreleasenetcoreapp1.1Esoterix.dll' to package as 'libnetcoreapp1.1Esoterix.dll'
2017-07-05T10:37:15.7959331Z System.InvalidCastException: Unable to cast object of type 'System.String' to type 'NuGet.Frameworks.NuGetFramework'.
2017-07-05T10:37:15.7969309Z at NuGet.ProjectManagement.NuGetProject.GetMetadata[T](String key)
2017-07-05T10:37:15.7969309Z at NuGet.ProjectManagement.PackagesConfigNuGetProject..ctor(String folderPath, Dictionary`2 metadata)
2017-07-05T10:37:15.7969309Z at CallSite.Target(Closure , CallSite , Type , Object , Dictionary`2 )
2017-07-05T10:37:15.7969309Z at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
2017-07-05T10:37:15.7969309Z at NuGet.CommandLine.ProjectFactory.AddDependencies(Dictionary`2 packagesAndDependencies)
2017-07-05T10:37:15.7969309Z at NuGet.CommandLine.ProjectFactory.ProcessDependencies(PackageBuilder builder)
2017-07-05T10:37:15.7969309Z at NuGet.CommandLine.ProjectFactory.CreateBuilder(String basePath, NuGetVersion version, String suffix, Boolean buildIfNeeded, PackageBuilder builder)
2017-07-05T10:37:15.7969309Z at NuGet.Commands.PackCommandRunner.BuildFromProjectFile(String path)
2017-07-05T10:37:15.7969309Z at NuGet.CommandLine.PackCommand.ExecuteCommand()
2017-07-05T10:37:15.7969309Z at NuGet.CommandLine.Command.ExecuteCommandAsync()
2017-07-05T10:37:15.7969309Z at NuGet.CommandLine.Command.Execute()
2017-07-05T10:37:15.7969309Z at NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args)
2017-07-05T10:37:15.8259323Z ##[error]Error: d:a_toolNuGet.0.0x64nuget.exe failed with return code: 1
2017-07-05T10:37:15.8259323Z ##[error]An error ocurred while trying to pack the files.
2017-07-05T10:37:15.8289336Z ##[section]Finishing: NuGet pack
Кажется, что до этого момента все нормально, поэтому я немного застрял . Любые идеи приветствуются.
3 ответов
в VSTS я использовал "dotnet pack" вместо "NuGet для обновления". Так эта проблема была решена.
чтобы опубликовать NuGet lib на VSTS, я выбрал следующую последовательность плагинов:
- источники
- восстановление nuget
- dotnet build
- dotnet pack
- nuget push
У меня была такая же проблема с моей библиотекой классов .net standard 2.0, я был упакован в пакет nuget. Вот скриншот шага, который вам нужно добавить, чтобы заменить шаг NuGet pack.
Тип Шага Для Добавления
вот как я настроил шаг
Это, похоже, проблема с использованием элемента пакета Nuget, встроенного в VSTS. Я поменял его на элемент командной строки для вызова dotnet pack, и теперь он работает.