如何将新项目添加到现有项目并从新项目创建dll文件?

时间:2012-11-30 22:09:30

标签: c#

我已经在新项目中为我的项目添加了一个新项目,我刚刚创建了一个新类,并将代码复制到新类中,我希望在另一个项目中使用该代码。 新项目也是Windows窗体类型。

我想要的是从新项目类创建一个dll,以便我以后可以在另一个项目中使用dll来使用我刚刚添加的新项目中的dll中的类。

所以在新添加的项目中,我在项目属性>应用程序>输出类型>类库中进行了更改 但是现在当我试图添加新项目类的引用时,我无法在bin> Debug目录下的新项目中找到任何dll文件。

我又有一个项目,我在其解决方案中添加了一个新项目。 新项目也是一个没有任何代码的Windows窗体类型,但只有一个添加的类,我添加了一些代码。 我想要做的是创建一个新项目的DLL,以便我稍后可以在主项目中使用该类。

但是为什么它没有创建任何dll?

3 个答案:

答案 0 :(得分:1)

简短的回答是,你可能还没有编译它?

然而,有一个更好的答案。如果我理解正确,你有这个:

Solution 1
  -- Windows Forms Project A
  -- Windows Forms Project B

Windows Forms Project B中的代码需要Windows Forms Project A访问。你在这里朝着正确的方向迈出了一步:

  

所以在新添加的项目中,我在项目属性中更改了>应用程序>输出类型>类库

但是,您可能需要采取额外措施来清理它。因为现在您的Class Library Project B仍然引用它不需要的Windows窗体库。实际上,它不应该引用Windows窗体库或任何其他UI库。为了便于移植,类库应完全与UI无关。 (作为提示,如果您发现自己需要从可移植类库中引用UI库,那么您可能在某个地方犯了一个错误,并且应该重新考虑逻辑属于哪里。)

因此,首先,创建一个全新的类库项目,以便您拥有:

Solution 1
  -- Windows Forms Project A
  -- Class Library Project B

接下来,您需要Project A来引用Project B。您试图通过引用输出DLL来执行此操作,但这不是正确的方法,除非您有非常这样做的充分理由。相反,由于它们位于同一个解决方案中,因此您可以使用Project Reference

如果您使用的是Visual Studio,请右键点击Project A并选择Add Reference。根据Visual Studio的版本,布局将有所不同。但是您要添加的是对解决方案中另一个项目的项目引用。选择Project B即可完成设置。

此时,您无需担心Project B独立编译。它仅仅是Project A引用的组件。编译Project A时,默认情况下,Project B的DLL将在编译输出中。

答案 1 :(得分:0)

编辑:如果您没有找到DLL,可能是因为它尚未构建。此外,当两个项目在同一个解决方案中时显式添加DLL可能不是你想要做的。

继续我的原帖: 不要浏览DLL,而是单击“添加引用”对话框中的“项目”选项卡,它将从那里添加引用。

答案 2 :(得分:0)

将新项目添加到解决方案时,需要指定类库,而不是Windows窗体应用程序。完成后,您将能够向第一个项目添加引用,第二个项目(库)应该是其中一个选项卡中的选项(可能是“项目”或“解决方案”,具体取决于您的版本)。在您实际构建类库项目之前,DLL不会显示。