【发布时间】:2014-11-16 13:49:57
【问题描述】:
我正在尝试将WeifenLuo.WinformsUI.Docking 程序集集成到我的应用程序中。为了排除外部因素,我创建了一个新的 .Net 4 Winforms 应用程序并引用了 DLL。工作正常。
然后我创建了一个 .Net 4 类库并引用了 DLL。这不起作用,一旦我尝试使用该 Docking 命名空间中的任何内容,它就不会编译。
回顾
C# Exe ---reference--> WeifenLuo.WinFormsUI.Docking.DockPanel.dll // OK
C# Class library ---reference--> WeifenLuo.WinFormsUI.Docking.DockPanel.dll // Not OK
我也有WeifenLuo source 并确认它是一个引用相同版本.Net 的类库。我尝试在他们的示例解决方案中添加一个类库并直接引用WinForms 项目(不是汇编中的结果),但它仍然没有正确链接。
使用屏幕截图更新
【问题讨论】:
-
您已将 DLL 引用添加到您的类库中,您的类库可以访问 dll 的类,但不能访问您的 WinForm 应用程序。如果你想在 WinForm 中访问 dll 的类,那么你也需要在你的 WinForm 应用程序中引用,否则你只能通过你的类库来访问它。
-
不确定我是否关注。我有一个第三方 DLL,它在被应用程序项目引用时可以正常工作,但在从类库引用时不能正常工作。我的意图不是从类库的表单应用程序中引用任何内容。我修改了我的问题以希望澄清。谢谢。
-
它是否给出了特定的错误?也许 DLL 依赖于仅在 winforms 项目中找到的另一个 DLL(默认情况下)。您可能必须让您的类库引用 System.Windows.Forms 之类的东西。
-
@JasonDown 我提高了 Visual Studio 的详细程度,但看不到太多。唯一的错误是
Expected class, delegate, ...我在其中定义了DockPanel对象,因为它无法解决它。不过我喜欢你的嵌套依赖理论,让我试试看。 -
@JasonDown 我匹配了应用程序的引用,没有变化。该死,我希望就是这样。