Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 项目不';我不认识参照物_C#_Visual Studio 2010_Csproj - Fatal编程技术网

C# 项目不';我不认识参照物

C# 项目不';我不认识参照物,c#,visual-studio-2010,csproj,C#,Visual Studio 2010,Csproj,重新创建错误的步骤: 向解决方案中添加2个项目 参考项目A中的项目B 解决所有外围引用(可能项目B需要项目C和D) 成功构建解决方案 尝试在项目A中使用项目B的命名空间 惨败 在过去,当项目B和项目A有不同的目标框架(一个是.NET Framework 4,另一个是.NET Framework 4客户端概要文件)时,我就遇到过这个问题,但这里的情况并非如此 怎么办?我猜您指的是一种场景,其中B包含成员签名指向C和D的类。例如: C: B: 以及: public class A { publ

重新创建错误的步骤:

  • 向解决方案中添加2个项目
  • 参考项目A中的项目B
  • 解决所有外围引用(可能项目B需要项目C和D)
  • 成功构建解决方案
  • 尝试在项目A中使用项目B的命名空间
  • 惨败
  • 在过去,当项目B和项目A有不同的目标框架(一个是.NET Framework 4,另一个是.NET Framework 4客户端概要文件)时,我就遇到过这个问题,但这里的情况并非如此


    怎么办?

    我猜您指的是一种场景,其中B包含成员签名指向C和D的类。例如:

    C:

    B:

    以及:

    public class A {
       public void Foo() {
          B b = new B();
          b.GetC();
       }
    }
    

    换句话说,A也使用C。那么,显然A也使用C,即使您认为它不使用。

    鉴于这通常可以正常工作,如果您提供真实、详细的步骤(使用最少但完整的示例代码),以便我们可以尝试做同样的事情,这将很有帮助。展开第6页-错误消息是什么?我已经做了您多次描述的事情,没有任何问题。@JonSkeet不幸的是,我正在处理(不是我自己的)专有代码,无法共享它。但是您可以编写一个示例来说明问题,而没有您的专有代码。@Matthew:我不是要求您共享专有代码。我想让你分享重现问题的步骤。你的帖子开始了“重新创建错误的步骤”,但它们并不能真正帮助我们重新创建错误。。。如果不参考我们看不到的专有代码就无法复制它,那么就很难诊断问题。
    public class B {
       public C GetC();
    }
    
    public class A {
       public void Foo() {
          B b = new B();
          b.GetC();
       }
    }