【问题标题】:File was not found after nuget restorenuget还原后找不到文件
【发布时间】:2018-11-06 16:56:18
【问题描述】:

我正在使用 Visual Studio 2017 并从 TFS 服务器拉取源代码,然后构建解决方案,我收到以下错误:

Microsoft.Common.CurrentVersion.targets (3863,5):错误 MSB3113: 找不到文件“SqlServerTypes\x64\SqlServerSpatial140.dll”。

然后我发现这个dll文件来自nuget包sqlserver.types,据我所知,Visual Studio会在我们构建解决方案时恢复nuget包。

为什么我还有这个问题?

【问题讨论】:

    标签: c# visual-studio nuget nuget-package-restore


    【解决方案1】:

    nuget 还原后找不到文件

    当您从nuget.org 下载nuget 包Microsoft.SqlServer.Types 并使用nuget 包资源管理器打开它时:

    您会发现sqlserver.types nuget 包不仅包含来自.net 框架的.dll,而且还包含本机二进制文件。这些文件是用 x64 和 x84 设计的,它们不能直接添加到 lib 文件夹中。因此包所有者将它们作为内容添加到项目中。但是,这些 dll 文件在 TFS 中默认设置为忽略,您需要手动添加它们。

    当然你也可以使用命令行Update-Package <package_name> –reinstall重新安装这个nuget包,但这需要你每次从TFS服务器拉取代码后都执行这个命令。将本机二进制文件添加到源代码管理中将减少这些不必要的麻烦。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      你可以试试这个:

      Update-Package <package_name> –reinstall
      

      【讨论】:

      • 感谢您的回答。是的,它工作得很好,但就像 Leo 说的,“这要求你每次从 TFS 服务器拉代码后都执行这个命令”,所以我将那些 dll 文件添加到源代码管理中。我想投票给你,但我没有足够的声誉。但仍然感谢您的帮助。
      猜你喜欢
      • 1970-01-01
      • 2018-07-04
      • 2013-06-13
      • 1970-01-01
      • 2019-11-09
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 2015-12-02
      相关资源
      最近更新 更多