【问题标题】:Referenced Project gets "lost" at Compile Time引用的项目在编译时“丢失”
【发布时间】:2020-06-29 23:32:10
【问题描述】:

我有一个包含两个项目的 C# 解决方案:一个服务(主项目)和一个记录器。该服务使用记录器中的类。我在服务项目中添加了对记录器项目的引用。在设计时,自动完成工作正常:记录器的类是可见的,我使用的引用有适当的颜色。

我重建解决方案,但出现问题。不再识别引用:“名称'记录'在当前上下文中不存在'并且类不再存在于自动完成中。删除并重新附加引用使我回到使标识符对自动完成可见的基本状态。

我已经重新启动,清除了所有缓存,确保这是在我的机器上运行的唯一 VS 2010 实例。

我是否遗漏了一些明显(显然)的东西?

【问题讨论】:

    标签: c# reference project


    【解决方案1】:

    在项目属性下检查每个项目的构建类型 - 我敢打赌,其中一个将设置为针对 .NET XX - Client Profile 构建。

    如果版本不一致,特别是一个是Client Profile 而另一个不是,那么它在设计时工作但在编译时失败。一个真正的问题。

    对我来说,Visual Studio 2010 中发生了一些有趣的事情,它总是将项目看似随机地设置为 Client Profile,有时是在我创建项目时,有时是几天后。可能是我不小心按了一些键盘快捷键...

    【讨论】:

    • 我敢打赌你是对的......如果是这样的话,我会因为不记得我上个月问过的类似问题而感到羞耻! stackoverflow.com/questions/3991361/…
    • @Bob 它一直在发生在我身上,就像你有上一个问题一样,每次它发生时,至少有几分钟我完全被整个事情搞糊涂了,直到我记得“哦,等等,客户 **** ing 个人资料”
    • 我在使用 VS2012 时也遇到了这个问题。结果证明不是客户端配置文件问题,而是引用的项目在 4.5 中,而引用的新项目默认为 4.0。将那个撞到 4.5,问题就消失了。确实是相同的解决方案,只是另一种变体。
    • 这发生在我最近在 VS 2013 中。该项目是默认的 4.5,但其中一个库是基于 4.5.2 构建的。如果项目是 4.5.2 并且库之一是 4.5 或 4.5.1,它将工作。但反之则不然。
    【解决方案2】:

    确保两个项目在此处具有相同的目标框架版本: 右键单击项目 -> 属性 -> 应用程序(选项卡) -> 目标框架

    另外,请确保项目“记录器”(您要包含在主项目中)在以下位置具有输出类型“类库”: 右键单击项目->属性->应用程序(选项卡)->输出类型

    最后,重建解决方案。

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-21
      • 2015-01-17
      相关资源
      最近更新 更多