简短的回答是,也许你还没有编译它?
但是,有一个更好的答案。如果我理解正确,你有这个:
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