首页 文章

使用旧解决方案将nuget包添加到.net核心项目时如何修复$(NETStandardImplicitPackageVersion)错误?

提问于
浏览
7

我们有一个包含很多项目的现有.NET解决方案 . 我最近在解决方案中添加了一个新的ASP.NET核心项目 . 当我尝试将Nuget包添加到解决方案时,添加失败,我在包管理器输出窗口中收到以下错误 . 如果我创建一个新的解决方案并将相同的项目添加到解决方案中,那么我就可以添加Nuget包,因此将新的.NET核心项目添加到现有解决方案似乎是一个问题 . 任何人都可以帮助我解决这个问题,而无需重新创建解决方案吗?

System.ArgumentException:'$(NETStandardImplicitPackageVersion)'不是有效的版本字符串 . 位于System.Collections.Generic.List1的System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()的NuGet.PackageManagement.VisualStudio.VsManagedLanguagesProjectSystemServices.ToPackageLibraryDependency(PackageReference reference)中的NuGet.Versioning.VersionRange.Parse(String value,Boolean allowFloating) . 位于NuGet.PackageManagement.VisualStudio.VsManagedLanguagesProjectSystemServices.d__23.MoveNext()的System.Linq.Enumerable.ToList [TSource](IEnumerable1源)的.ctor(IEnumerable1集合) - 从抛出异常的上一个位置开始的堆栈跟踪结束 - - 位于System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务),位于NuGet.PackageManagement.VisualStudio的System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务) .LegacyPackageReferenceProject.d__27.MoveNext()---从抛出异常的先前位置开始的堆栈跟踪结束---在Syste位于NuGet.PackageManagement.VisualStudio.LegacyPackageReferenceProject.d__14.MoveNext()的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的m.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)---来自之前的堆栈跟踪结束抛出异常的位置---在NuGet.PackageManagement.DependencyGraphRestoreUtility.d__6.MoveNext()的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)处 - - 来自抛出异常的先前位置的堆栈跟踪结束---在NuGet.PackageManagement.DependencyGraphRestoreUtility的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)处 . d__2.MoveNext()---抛出异常的前一个位置的堆栈跟踪结束---在System.Runtime.C位于NuGet.PackageManagement.NuGetPackageManager.d__75.MoveNext()的System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的ompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) - - 从抛出异常的先前位置开始的堆栈跟踪结束---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

1 回答

  • 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 .

相关问题