-2

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

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

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

我再次有一个项目,我在它的解决方案中添加了一个新项目。新项目也是一个没有任何代码的 windows 窗体类型,但只有一个添加的类,我在那里添加了一些代码。我想要做的是创建一个新项目的 dll,以便以后可以在主项目中使用该类。

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

4

3 回答 3

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一个 DLL 。Project B

于 2012-11-30T22:18:50.553 回答
0

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

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

于 2012-11-30T22:15:06.117 回答
0

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

于 2012-11-30T22:15:53.470 回答