C# 装配负载问题“;无法从程序集ABC加载类型XYZ

C# 装配负载问题“;无法从程序集ABC加载类型XYZ,c#,.net,loading,C#,.net,Loading,鉴于: 示例按解决方案中的项目命名空间 基本命名空间 BaseNameSpace.Reports 我意识到我需要“折叠”报告名称空间并将其放入基础中。我仍然希望这个项目是它自己的项目。上面项目2的属性如下所示: 如果将这些值更改为: 在其他项目中使用报告的任何尝试,例如 BaseNameSpace.AnotherProjectRoot 在标题中发布消息。现在有趣的是,intellisense找到了所需的类,但运行时加载程序没有 同一解决方案中的多个项目不能包含相同的命名空间吗?这几乎就像加载

鉴于:

示例按解决方案中的项目命名空间

  • 基本命名空间
  • BaseNameSpace.Reports
  • 我意识到我需要“折叠”报告名称空间并将其放入基础中。我仍然希望这个项目是它自己的项目。上面项目2的属性如下所示:

    如果将这些值更改为:

    在其他项目中使用报告的任何尝试,例如

  • BaseNameSpace.AnotherProjectRoot
  • 在标题中发布消息。现在有趣的是,intellisense找到了所需的类,但运行时加载程序没有


    同一解决方案中的多个项目不能包含相同的命名空间吗?这几乎就像加载程序在一个项目中找到基本命名空间,但不会使用另一个项目(具有不同的名称),而是使用相同的命名空间

    问题

    试图更改名称空间会导致编译错误和引用错误

    解决方案

    右键单击每个项目并选择“属性”。单击顶部的应用程序按钮,确保每个项目的目标框架相同

    症状

    出现此问题时的症状是:1)Intellisense很容易在其他项目中找到方法2)右键单击另一个项目中引用的方法并选择“转到定义”可以正常工作。3) 编译解决方案将显示引用错误,例如在程序集中找不到命名空间xyz。4) 查看每个项目中的引用将显示黄色警告标志,即使其他引用是“按解决方案”。您试图通过重新指向解决方案中的另一个项目来进行更正,但黄色标志仍然存在

    根本原因


    我们只是在一个以前没有这些错误的项目中更改了名称空间名称。我们从未更改.NET版本

    是否有对所有程序集的引用?CLR加载程序集,而不是名称空间。解决方案应该是这样的,因为项目都在同一个解决方案中,我将返回并检查所有程序集名称解决方案中的其他项目是否也有程序集名称:of
    BaseNameSpace