【问题标题】:Reference disappear upon debug/build (C#, VB.NET, VS2010)调试/构建时参考消失(C#、VB.NET、VS2010)
【发布时间】:2013-12-04 15:31:23
【问题描述】:

我将MagicLibrary 用于一些组件。我知道它是用 Visual Studio 2003 编写的,并在 Visual C# Express 2010 中重新编译。它编译得很好,我可以在文件夹中看到库。

然后我在 Visual C# Express 2010 中创建了一个新项目,并将组件 MagicalLocalLibrary.dll 添加到工具箱中。他们看起来很好,没有错误。我将工具箱中的控件放入表单中,看起来还不错。然后我调试(看看是否会发生任何错误),我看到引用 MagicalLibrary 消失了,我得到了错误:

The type or namespace name 'Crownwood' could not be found (are you missing a using directive or an assembly reference?)

问题是,参考在解决方案资源管理器中的参考下显示正常,但我无法使用using 导入它或在代码中使用它(也没有在 InstelliSense 中列出)但是如果我进入对象浏览器并选择“我的解决方案”它未列出。我可以单击解决方案资源管理器中的引用,只需将 Copy Local 属性更改为 True 或 False,然后它将出现在对象浏览器中,但每当我再次调试我的项目时,它就会消失。

知道为什么会这样吗?提前致谢。

【问题讨论】:

    标签: c# reference visual-c#-express-2010


    【解决方案1】:

    检查您使用的是 .Net 4 框架,而不是客户端配置文件版本

    当您右键单击项目时,您会发现该设置,选择属性。在应用程序下,有一个目标框架的设置。如果您选择了 .Net 4 框架客户端配置文件,那么您描述的这种行为可能会发生

    【讨论】:

    • 谢谢你,巴塞塔森——我总是忘记这一点!哦,不知道在新建项目的时候可以设置默认框架吗?
    • @Humanoidism 欢迎您,我自己也做过很多次同样的事情。在这个link 中有一些关于如何更改默认值的建议
    • 在 VS2010 中,Target Framework 设置位于 Compile 选项卡中,位于 Advanced Compile Options 按钮的另一个弹出对话框的底部。谢谢!我们在一个解决方案中有几个项目,它们之间的引用丢失了。将目标框架设置为远离客户端配置文件解决了该问题。
    【解决方案2】:

    我曾经遇到过一个非常相似的问题。在我的情况下,问题原来是“消失”命名空间的程序集缺少依赖项。最终给了我所需信息的是this StackOverflow 答案中的建议,以提高 MSBuild 输出详细程度。提高详细程度设置后,IDE 应该会为您提供编译失败的更具体原因。

    【讨论】:

      猜你喜欢
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 2015-06-27
      相关资源
      最近更新 更多