gpt4 book ai didi

c# - 所有引用子项目的项目都必须安装 NuGet 包 Microsoft.Bcl.Build (C#/Windows Phone 7)?

转载 作者:IT王子 更新时间:2023-10-29 04:39:00 27 4
gpt4 key购买 nike

我有一个特别困难的重构 session 涉及一个 C# 解决方案和 Visual Studio 2012 中的多个项目。我需要将一堆代码提取到它们自己的程序集中,以便代码可以在多个项目之间共享,所有这些都在相同的解决方案。但是,无论我尝试什么,我都会收到针对引用新共享项目的项目的警告,即“所有引用 {shared project name} 的项目都必须安装 nuget 包 Microsoft.Bcl.Build”。

我仔细检查了依赖项目和共享项目,详细验证了它们都使用相同的版本和完全相同的 DLL 用于 Microsoft.Bcl 版本 1.0.1.19 和 Microsoft.Bcl.Async 1.0.16 版本包:

  • 系统.运行时
  • 系统.线程.任务

  • Microsoft.Threading.Task

  • Microsoft.Threading.Tasks.Extensions
  • Microsoft.Threading.Tasks.Extensions.Phone

DLL 路径全部解析且相同。 XAP 文件确实生成了,但我仍然收到警告,告诉我 Microsoft.Bcl.Build 未在相关项目中引用,尽管我可以看到它是。

如果我尝试使用 NuGet 为每个涉及的项目卸载然后重新安装这两个包,我会得到空路径的引用和涉及的 5 个 DLL 引用的警告图标。出于某种原因,NuGet 添加了引用但找不到 DLL。此外,如果我这样做,我发现自己经常遇到这样的问题:在尝试添加引用时,我的项目会出现“无法添加引用”错误。然后我关闭并重新打开解决方案,这导致“项目无法加载”错误。所以我必须手动编辑项目文件,删除错误的包导入语句,然后重新加载项目。

我该如何解决这个问题?将来避免这种头痛的一般技术是什么?让 NuGet 管理丢失的包根本无济于事。

最佳答案

以防万一其他人遇到这个问题并且@Swell 的解决方案让你变得“wtf”:

我最近浏览了一个较旧的 MVC 项目并对其进行了更新(更新了 razor、asp、http 等 nuget 包)。该项目独立于自身,构建良好,但当我去发布时它因 OP 的错误而失败。

事实证明这是因为我没有更新与之关联的 *.Tests 项目(应该已经想通了,虽然不确定为什么 Tests 与 那个 紧密相关该项目)。所以,要修复:

  1. 右键单击解决方案并管理 nuget 包。
  2. 遍历 Web 项目中更新的所有包,并将它们也应用到其他项目(每个“更新”将显示一个包含适用项目的树,我很好,只需单击即可)。<
  3. 重建。

你现在应该很好,它不应该对你吠叫。希望对其他人有所帮助。

关于c# - 所有引用子项目的项目都必须安装 NuGet 包 Microsoft.Bcl.Build (C#/Windows Phone 7)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16749080/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com