Сначала это не удалось из-за кода ошибки 9009, что означает, что программа «NuGet.exe» не найдена. Я загрузил эту программу на свой компьютер, и теперь получаю следующее сообщение об ошибке:
C:\Program Files\Microsoft Visual Studio\2022\Professional>NuGet pack ...
Attempting to build package from '....csproj'.
MSBuild auto-detection: using msbuild version '17.14.23.42201' from 'C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin'.
Packing files from 'C:\...\bin\Debug'.
Using '....ExternalInterface.nuspec' for metadata.
The user name or password is incorrect.
Последнее подтверждается командной строкой разработчика (я получаю то же сообщение об ошибке).
У меня такое впечатление, что «NuGet.exe» где-то настроен для получения имени пользователя и пароля... откуда?
Вот где я сохранил «NuGet.exe»:
Что мне теперь делать? Стоит ли переустанавливать «NuGet.exe» каким-нибудь официальным способом?
P.s. добавив подробную информацию к команде «NuGet», я получаю дополнительную информацию:
The user name or password is incorrect.
System.IO.IOException: The user name or password is incorrect.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator`1.CommonInit()
at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
at NuGet.Common.PathResolver.PerformWildcardSearch(String basePath, String searchPath, Boolean includeEmptyDirectories, String& normalizedBasePath)
at NuGet.Packaging.PackageBuilder.ResolveSearchPattern(String basePath, String searchPath, String targetPath, Boolean includeEmptyDirectories)
at NuGet.Packaging.PackageBuilder.AddFiles(String basePath, String source, String destination, String exclude)
at NuGet.Packaging.PackageBuilder.PopulateFiles(String basePath, IEnumerable`1 files)
at NuGet.CommandLine.ProjectFactory.ProcessNuspec(PackageBuilder builder, String basePath)
at NuGet.CommandLine.ProjectFactory.CreateBuilder(String basePath, NuGetVersion version, String suffix, Boolean buildIfNeeded, PackageBuilder builder)
at NuGet.Commands.PackCommandRunner.BuildFromProjectFile(String path)
at NuGet.CommandLine.PackCommand.ExecuteCommand()
at NuGet.CommandLine.Command.ExecuteCommandAsync()
at NuGet.CommandLine.Command.Execute()
at NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args, IEnvironmentVariableReader environmentVariableReader)
показывает переключатель -NonInteractive. По моему мнению, это означает, что NuGet Pack можно использовать и в интерактивном режиме, и это, похоже, используется по умолчанию. В результате я ожидаю вопроса об имени пользователя/пароле. Поскольку этот вопрос не возникает, я подозреваю, что информация должна присутствовать в каком-то файле, но где? (Файл .nuspec, похоже, не содержит такой информации, а файлы, о которых идет речь, представляют собой только файлы *.ico и *.png)
При создании моего приложения C++ событие postbuild содержит следующую команду: [code]NuGet pack "$(ProjectPath)" -OutputDirectory "$(TargetDir)NuGet" -IncludeReferencedProjects -Properties Configuration=$(ConfigurationName) [/code] Сначала это не удалось из-за кода ошибки 9009, что означает, что программа «NuGet.exe» не найдена. Я загрузил эту программу на свой компьютер, и теперь получаю следующее сообщение об ошибке: [code]C:\Program Files\Microsoft Visual Studio\2022\Professional>NuGet pack ... Attempting to build package from '....csproj'. MSBuild auto-detection: using msbuild version '17.14.23.42201' from 'C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin'. Packing files from 'C:\...\bin\Debug'. Using '....ExternalInterface.nuspec' for metadata. The user name or password is incorrect. [/code] Последнее подтверждается командной строкой разработчика (я получаю то же сообщение об ошибке). У меня такое впечатление, что «NuGet.exe» где-то настроен для получения имени пользователя и пароля... откуда? Вот где я сохранил «NuGet.exe»: [code]C:\Program Files\NuGet>dir /S /B C:\Program Files\NuGet\nuget.exe [/code] Что мне теперь делать? Стоит ли переустанавливать «NuGet.exe» каким-нибудь официальным способом? P.s. добавив подробную информацию к команде «NuGet», я получаю дополнительную информацию: [code]The user name or password is incorrect. System.IO.IOException: The user name or password is incorrect.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileSystemEnumerableIterator`1.CommonInit() at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption) at NuGet.Common.PathResolver.PerformWildcardSearch(String basePath, String searchPath, Boolean includeEmptyDirectories, String& normalizedBasePath) at NuGet.Packaging.PackageBuilder.ResolveSearchPattern(String basePath, String searchPath, String targetPath, Boolean includeEmptyDirectories) at NuGet.Packaging.PackageBuilder.AddFiles(String basePath, String source, String destination, String exclude) at NuGet.Packaging.PackageBuilder.PopulateFiles(String basePath, IEnumerable`1 files) at NuGet.CommandLine.ProjectFactory.ProcessNuspec(PackageBuilder builder, String basePath) at NuGet.CommandLine.ProjectFactory.CreateBuilder(String basePath, NuGetVersion version, String suffix, Boolean buildIfNeeded, PackageBuilder builder) at NuGet.Commands.PackCommandRunner.BuildFromProjectFile(String path) at NuGet.CommandLine.PackCommand.ExecuteCommand() at NuGet.CommandLine.Command.ExecuteCommandAsync() at NuGet.CommandLine.Command.Execute() at NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args, IEnvironmentVariableReader environmentVariableReader) [/code] P.s.2: содержимое соответствующего файла .nuspec: [code]
[/code] Некоторые мысли: [list] [*]Добавив «подробное» подробное описание, я теперь знаю, что существует проблема при разрешении некоторого пути. [*]Было бы очень полезно иметь фактические значения аргументов вместо общего описания функции, как в следующих строках:
2.2. ... на System.IO.Directory.GetFiles("C:\..." [*][code]NuGet Pack /?[/code] показывает переключатель -NonInteractive. По моему мнению, это означает, что NuGet Pack можно использовать и в интерактивном режиме, и это, похоже, используется по умолчанию. В результате я ожидаю вопроса об имени пользователя/пароле. Поскольку этот вопрос не возникает, я подозреваю, что информация должна присутствовать в каком-то файле, но где? (Файл .nuspec, похоже, не содержит такой информации, а файлы, о которых идет речь, представляют собой только файлы *.ico и *.png) [/list]