.net 无法从提供程序的全局设置中检索模板包

qij5mzcb  于 2023-01-27  发布在  .NET
关注(0)|答案(2)|浏览(167)

我尝试运行dotnet new install .\,但收到以下错误:

Error: Failed to retrieve template packages from provider 'Global Settings'.
Details: Error reading JObject from JsonReader. Path '', line 0, position 0.
Error reading JObject from JsonReader. Path '', line 0, position 0.
   at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
   at Microsoft.TemplateEngine.JExtensions.ReadObject(IPhysicalFileSystem fileSystem, String path)
   at Microsoft.TemplateEngine.Edge.BuiltInManagedProvider.GlobalSettings.GetInstalledTemplatePackagesAsync(CancellationToken cancellationToken)
   at Microsoft.TemplateEngine.Edge.BuiltInManagedProvider.GlobalSettingsTemplatePackageProvider.InstallAsync(IEnumerable`1 installRequests, CancellationToken cancellationToken)
   at Microsoft.TemplateEngine.Cli.TemplatePackageCoordinator.EnterInstallFlowAsync(InstallCommandArgs args, CancellationToken cancellationToken)
   at Microsoft.TemplateEngine.Cli.Commands.InstallCommand.ExecuteAsync(InstallCommandArgs args, IEngineEnvironmentSettings environmentSettings, TemplatePackageManager templatePackageManager, InvocationContext context)
   at Microsoft.TemplateEngine.Cli.Commands.BaseCommand`1.InvokeAsync(InvocationContext context)

我甚至尝试运行dotnet new list,它返回VS2022包,但不是我以前安装的那些之前得到上述错误。此外,当我得到dotnet new list,我再次得到以下之前的模板列表

Error: Failed to retrieve template packages from provider 'Global Settings'.
Details: Error reading JObject from JsonReader. Path '', line 0, position 0.

我尝试再次安装.NET 7 SDK,但仍然出现相同的错误

o75abkj4

o75abkj41#

对于任何花时间试图找出导致此问题的问题的人来说,我找到了解决方案。基于此issue
<user folder>\.templateengine\packages.jsonpackage.json文件为空。我将其删除,然后运行dotnet new list,问题得到解决

olhwl3o2

olhwl3o22#

这通常是由dotnet new命令的配置问题引起的,特别是用于从提供程序检索模板包的全局设置问题。
您可以尝试以下几种方法来解决此问题
1.删除global.json文件。该文件包含dotnet new命令的全局设置,如果该文件损坏或丢失,可能会导致您看到的错误。该文件通常位于应用程序的根目录中
1.清除NuGet包缓存。该高速缓存可能已损坏,并阻止dotnet new正常工作。dotnet nuget locals all --clear

相关问题