Nuget软件包管理器已损坏-''在VS2019“管理解决方案的软件包”中不是有效的版本字符串

时间:2020-08-20 19:22:59

标签: nuget visual-studio-2019

VS2019中的软件包管理器对我来说完全坏了。

enter image description here

当我尝试查看解决方案的软件包时,UI只会显示“发生错误”,并带有以下详细信息,'' is not a valid version string

我的构建环境是使用自定义目标进行大量自定义的,并且程序包是通过称为“ corext”的VS之外的过程加载的。所以我的问题是,尝试加载程序包管理器时正在解析哪个文件?我在报名目录的根目录以及AppData \ Roaming \ NuGet下都有一个nuget.config,我已将其删除但没有结果。我尝试清除所有的nuget缓存。我尝试过this post中的所有建议都没有碰到运气。如果我什至可以得到更多的日志,我也许可以解除对自己的封锁。我在VS 2017中得到的结果完全相同。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

无数小时的痛苦之后,我建议我寻找一个版本号无法解析的def load_dataset(file_path, cols): 2 dataset = pd.read_csv(file_path, encoding='latin-1') 3 dataset.columns = cols 4 return dataset 节点。为此,我进入了树中的任何项目并运行:<PackageReference>。这将生成一个预处理日志。在该日志文件中,我“查找了PackageReference”的所有实例。第一次匹配是Directory.Build.props中的PackageReference,没有版本号。解决方法是添加(任何)版本号。我肯定需要输入正确的版本号,但解决方案将如下所示:

enter image description here

答案 1 :(得分:0)

首先,请检查我的征募目录中的nuget.config文件。通常,当您在项目的根目录路径上有一个新的nuget.config文件时。

当前项目和子目录中的所有项目将使用此nuget.config而不是全局nuget.config文件(AppData\Roaming\NuGet)。它将添加新的 pakageSource 并将覆盖全局nuget.config文件中的 packagesource 相同名称。

请参见this document about this info

1),请在您的入伍根目录输入nuget.config

检查您是否具有这样的节点:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

..............

  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="test123" value="C:\xxxx\" />   
    <add key="github source" value="https://xxxxxxxxxxxxxxxxxxxx"/>
  </packageSources>
  <disabledPackageSources>
  
    <add key="test123" value="true" />
    

  </disabledPackageSources>
  
</configuration>

如果是这样,则应检查每个 packagesource 路径,并确保每个 packagesource 上都没有这样的空格,以防出现拼写错误

或者您可以使用 disabledPackageSources 节点禁用除nuget.org之外的任何 packagesources

赞:

 <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="test123" value="C:\xxxx\" />   
    <add key="github source" value="https://xxxxxxxxxxxxxxxxxxxx"/>
    .........
    .........
  </packageSources>

  <disabledPackageSources>      
    <add key="test123" value="true" />
    <add key="github source" value="true" />
   ..........    
  </disabledPackageSources>

然后,关闭VS并重新启动项目以再次进行测试。

或者您也可以删除这样的nuget.config来检查其中是否有错误节点。另外,进行备份。

2) 第二,您可以在Tools-> NuGet Package Manager-> Package Manager Console下在此运行。< / p>

 [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;

3),请尝试进入新项目,以检查问题是否仍然存在于新项目中。这可以确定该项目中的nuget.config是否存在问题。

此外,您可以尝试与我们共享nuget.config文件。

此外,如果这些方法没有帮助,请尝试以下步骤:

a)禁用扩展-> 管理扩展

下的任何第三方扩展

b)如果这些方法无济于事,请尝试repair VS或更新VS(如果有新更新)。