我们现有的.NET解决方案包含很多项目。我最近在解决方案中添加了一个新的ASP.NET核心项目。当我尝试将Nuget包添加到解决方案时,添加失败,我在包管理器输出窗口中收到以下错误。如果我创建一个新的解决方案并将相同的项目添加到解决方案中,那么我就可以添加Nuget包,因此将新的.NET核心项目添加到现有解决方案似乎是一个问题。任何人都可以帮我解决这个问题吗?
System.ArgumentException:' $(NETStandardImplicitPackageVersion)'是 不是有效的版本字符串。在 NuGet.Versioning.VersionRange.Parse(String value,Boolean 允许浮动)在 NuGet.PackageManagement.VisualStudio.VsManagedLanguagesProjectSystemServices.ToPackageLibraryDependency(PackageReference 参考)at System.Linq.Enumerable.WhereSelectEnumerableIterator
2.MoveNext()
1..ctor(IEnumerable
at System.Collections.Generic.List1 collection)
1 source)at at NuGet.PackageManagement.VisualStudio.VsManagedLanguagesProjectSystemServices.d__23.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)
at System.Linq.Enumerable.ToList[TSource](IEnumerable
在 NuGet.PackageManagement.VisualStudio.LegacyPackageReferenceProject.d__27.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) NuGet.PackageManagement.VisualStudio.LegacyPackageReferenceProject.d__14.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) NuGet.PackageManagement.DependencyGraphRestoreUtility.d__6.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) NuGet.PackageManagement.DependencyGraphRestoreUtility.d__2.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)
在 NuGet.PackageManagement.NuGetPackageManager.d__75.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)
答案 0 :(得分:2)
不确定这与我遇到的问题是否相同,但是对我来说,解决该问题的方法是确保sln文件中的GUID匹配。
例如:
Project("{PROJECT-GUID}") = "ProjectA", "ProjectA\ProjectA.csproj", "{GUID-PROJECT-A}"
EndProject
Project("{PROJECT-GUID}") = "ProjectB", "ProjectB\ProjectB.csproj", "{GUID-PROJECT-B}"
EndProject
Project("{SOME-OTHER-GUID}") = "ProjectC", "ProjectC\ProjectC.csproj", "{GUID-PROJECT-C}"
EndProject
我不得不用PROJECT-GUID替换SOME-OTHER-GUID。