【问题标题】:VS2010 Assembly reference between projects failedVS2010 项目之间的程序集引用失败
【发布时间】:2011-01-26 16:10:03
【问题描述】:

上下文:

我的解决方案中有 3 个项目(C#、.NET 4.0):

  • Abc.Business(Dll 项目)
  • Abc.Test(测试项目)
  • Abc.Ui(Wpf 项目)

  • Abc.Business 是我的业务逻辑。它包含实体、经理、服务等。

  • Abc.TestAbc.Business 上有一个项目参考,并且是单元测试。它们运作良好。
  • Abc.UiAbc.Business 上有项目参考

Abc.Ui 无法解析所有using Abc.Business; 错误日志显示:

错误命名空间“Abc”中不存在类型或命名空间名称“Business”(您是否缺少程序集引用?)c:\Abc\Abc.Ui\ViewModels\ClientViewModel.cs

此外,当我在文件顶部手动输入using 时,Intelli-sense 会显示“Abc.Business.etc..”。所以 Intelli-sense 会在参考中行走,但不会构建。

有什么想法吗?

【问题讨论】:

  • 您是否清理过您的解决方案然后尝试构建?通常这会有所帮助。
  • 在解决方案资源管理器中仔细查看。 ref 在那里,它显示什么图标?
  • @Henk :在 Abc.Ui References 灰色文件夹中,我有一个灰色圆形矩形图标,旁边写着 Abc.Business。路径很好。
  • 它是 same 图标作为其他(好的)参考吗?没有十字架?

标签: c# visual-studio-2010 assemblies projects-and-solutions


【解决方案1】:

非常感谢GrhmHenk Holterman 为我指出了架构解决方案。实际上,这不是问题,但它让我找到了它。问题是框​​架目标。默认情况下,Ui 项目的目标是带有“客户端”配置文件的 .NET 4.0 框架。此配置文件不能引用非客户配置文件。我在使用不足的调试输出窗口中发现了这一点。 (我习惯于查看错误列表)

这是显示的错误:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9):警告 MSB3253:引用的程序集“C:\Abc\Abc.Business\bin\Debug\Abc .Business.dll”无法解析,因为它依赖于“System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”,它不在当前目标框架“.NETFramework,Version=v4. 0,个人资料=客户”。请删除对不在目标框架中的程序集的引用或考虑重新定位您的项目。

我将配置文件更改为正常(无)并且 BOOM 一切正常。Here's the MSDN page 关于它

再次感谢大家的宝贵时间。

【讨论】:

  • 我最近有这个,答案略有不同。今天出现了同样的错误,这为我解决了。谢谢:)
  • 谢谢。花了2个小时寻找解决方案!几近绝望
  • 很高兴能提供帮助!
【解决方案2】:

当我们在配置管理器中出现不一致时,我遇到过类似的问题。 (通过 Build 菜单访问)。

我们有一些项目构建 x86 变体,一些构建 x64 变体,配置管理器为“任何 CPU”和“混合处理器”提供“解决方案平台”。

我相信我们将“业务”构建为 x86 库,将“UI”构建为 x64(反之亦然),这意味着它无法找到程序集(对于正确的架构)并给出错误'正在查看,但智能感知仍然像查看源一样工作。

我建议您查看一下您的项目平台和解决方案平台,并整理所有奇怪之处。

【讨论】:

  • 你指出了一个有趣的点。在我的配置管理器中,每个项目都在“任何 CPU”上,除了 Abc.Ui。我现在正在尝试不同的配置..
【解决方案3】:

如果两者之间存在不兼容,我预计会出现问题。

一些提示/想法:

  • 删除引用并再次添加,作为对项目的引用
  • 重建解决方案并检查错误消息
  • 检查平台(版本)。也许 UI 是客户端平台,而 Biz 层使用完整平台。

【讨论】:

    【解决方案4】:

    您是否在 Abc.Ui 项目中添加了对 Abc.Business 项目的引用?您可以通过右键单击 Abc.Ui 中的 References,选择 Add Reference,然后转到 Projects 选项卡来执行此操作。并选择 Abc.Business。

    【讨论】:

    • 是的 Ui 有一个关于商业的项目参考。感谢您的提示。
    猜你喜欢
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    相关资源
    最近更新 更多