C# Visual Studio工具箱不包括来自同一解决方案的另一个项目的用户控件

C# Visual Studio工具箱不包括来自同一解决方案的另一个项目的用户控件,c#,winforms,visual-studio-2010,visual-studio-2012,visual-studio-2013,C#,Winforms,Visual Studio 2010,Visual Studio 2012,Visual Studio 2013,我到处找,找不到解决办法。我的问题有以下几点: 我有一个包含多个项目的Visual Studio解决方案(Visual Studio 2013) 一个项目(“控制项目”)有几个我构建的用户控件 其他项目(“其他控制项目”)包含各种开源控制 另一个项目(“问题项目”)引用了控制项目和其他控制项目 Visual Designer工具箱完美地显示了问题项目中的其他控件项目控件。 可视化设计器无法显示问题项目中的控件项目控件 我试过: 1.确保选中了自动填充工具箱的选项。 2.重建解决方案 3.重置

我到处找,找不到解决办法。我的问题有以下几点:

我有一个包含多个项目的Visual Studio解决方案(Visual Studio 2013)

  • 一个项目(“控制项目”)有几个我构建的用户控件
  • 其他项目(“其他控制项目”)包含各种开源控制
  • 另一个项目(“问题项目”)引用了控制项目和其他控制项目
Visual Designer工具箱完美地显示了问题项目中的其他控件项目控件。 可视化设计器无法显示问题项目中的控件项目控件

我试过: 1.确保选中了自动填充工具箱的选项。 2.重建解决方案 3.重置工具箱 4.确保控件的访问修饰符是公共的

如果我“选择项”,我可以通过选择.exe将控件项目控件添加到问题项目中,但这似乎是一个黑客行为,还导致了其他难以定义的问题


有人知道我的问题项目或控制项目有什么问题吗?

答案可能有点晚,但我最近也遇到了同样的问题。 对我来说,这是一个缺少DLL的问题。 我有一个像你一样的近乎模拟的独奏者

  • 提供自制用户控件的库
  • 引用控件库的另一个项目(“问题项目”)
当我最近从VS2008切换到VS2013,从.NET Framework 3.5切换到.NET Framework 4.5时,问题就出现了。对我来说,问题的原因似乎与Crystal Reports的参考文献有关。在我的库项目中,我有一个从CrystalDecisions.CrystalReports.Engine.ReportClass继承的类。这个类是我在工具箱中作为控件提供的。当我打开库项目本身(而不是子项目)并打开一个窗体以加载工具箱时,出现以下错误:未能创建类型为CrystalDecisions.VSDesigner.ReportToolboxItem、CrystalDecisions.VSDesigner的ToolboxItem

在我知道这一点后,我发现,我必须复制一些图书馆,在我的情况下

  • CrystalDecisions.CrystalReports.Engine.dll
  • CrystalDecisions.Shared.dll
  • CrystalDecisions.VSDesigner
到C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE(在此处找到:)

在我看来,VS Toolbox似乎开始创建控件,并在其中一个控件上出错,然后停止填充工具箱。在我的例子中,问题可能是,我引用了使用CLR 2.0和.NET Framework 2.0-3.5的旧CR库(v12.x),并使用使用使用CLR 4.0的.NET Framework 4.5编译了我的项目。看起来旧库在.NET4.x中不受支持。如果我使用这个变通方法,工具箱对我来说很好

问候


顺便说一句,很抱歉英文不全;-)

这里没有回应,但想更新它,基本上说我通过引用.exe解决了这个问题,虽然这个解决方案看起来很脏,因为exe在debug/release文件夹中,但我想它似乎做得足够好了。总的来说,它教会了我远离项目外部的用户控件。关闭和重新打开VS 2013对我来说很有用。