尽管是公开的,但无法从其他解决方案添加用户控制权

时间:2016-09-04 22:35:45

标签: c# .net winforms user-controls

以下是可重复的。

我有两个解决方案。

一个拥有用户控件。该解决方案称为testusercontrolproj

另一种解决方案叫做ProjectA

我试图让ProjectA使用其他解决方案中的用户控件testusercontrolproj

所以我使用用户控件创建了解决方案 - testusercontrolproj它出现在工具箱中,很好。

然后我创建解决方案ProjectA,即使用用户控件。我右键单击解决方案并选择添加现有项目,然后将其指向testusercontrolproj,然后导入它。我添加了对它的引用。我为它添加了一个using语句。我重建解决方案并重建projectA。然后重新启动视觉工作室 -

我注意到,如果在ProjectA解决方案中,我转到testusercontrolproj项目,然后双击那里的表单,然后单击工具箱,我看到控件。

但是,如果在ProjectA中,我双击ProjectA中的表单,然后单击工具箱,我就看不到用户控件。

这里的答案C# adding usercontrol from different project in solution建议公开,但用户控件是公开的,无论如何都是默认值。 public partial class UserControl1 : UserControl

enter image description here

1 个答案:

答案 0 :(得分:0)

我想我有答案。

无需使用用户控件添加项目,这对您没有帮助。

右键单击要将用户控件导入到的解决方案。所以在这种情况下," ProjectA"然后单击添加,然后单击现有项目。然后浏览到其他项目中的用户控件,然后单击“确定”。

然后您会看到用户控件显示在您想要的项目下。

enter image description here

您还会发现用户控件将出现在工具箱中。 (当然你可能需要重建解决方案 - build..rebuild解决方案,但无论如何都是如此)

您也可以使用用户控件从您的解决方案中删除项目,并且它不计算任何内容,它不会将用户控件带入其他项目,projectA或解决方案中,因此&# 39;没有意义,如上所述,单独添加用户控件到您的项目中。缺乏这一点,这就是为什么我没有在该项目的工具栏中获得用户控件的原因。

它确实似乎制作了副本,而不是参考。