这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。

记一个开发过程中碰到的小问题。

将项目代码复制到另一个目录或另一台电脑时,竟然出现了引用的所有动态库都是感叹号,如下图所示:

连基础的System都是感叹号,用记事本打开项目文件,发现有这段话:

  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets'))" />
  </Target>

从没见过这玩意儿,在网上一搜,直接把这段删掉即可解决。

原因是:这个节点有一个属性是 BeforeTargets="PrepareForBuild" 表示它是在build操作之前就执行的,这个时候还没有扫描引用的程序集……

Done

 

posted on   IT王师傅  阅读(236)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决

导航

统计

点击右上角即可分享
微信分享提示