Vb.net 如何在两个项目之间共享WinForms和代码

Vb.net 如何在两个项目之间共享WinForms和代码,vb.net,visual-studio,projects-and-solutions,Vb.net,Visual Studio,Projects And Solutions,我有一个Windows窗体应用程序(分为一个EXE和几个DLL)。现在我被要求创建另一个应用程序(MyAppLite),它只有一小部分功能。可以将其视为类似于MS Word Viewer和MS Word 构建MyAppLite所需的一切都包含在主解决方案中——本质上,我需要使用两个WinForms以及它们调用的DLL中的任何位 最好的方法是什么? 我正在考虑在我的MyAppLite解决方案中创建另一个项目,然后添加必要的源文件作为链接(使用解决方案资源管理器中的添加现有项>添加为链接) 我绝对不

我有一个Windows窗体应用程序(分为一个EXE和几个DLL)。现在我被要求创建另一个应用程序(MyAppLite),它只有一小部分功能。可以将其视为类似于MS Word Viewer和MS Word

构建MyAppLite所需的一切都包含在主解决方案中——本质上,我需要使用两个WinForms以及它们调用的DLL中的任何位

最好的方法是什么?

我正在考虑在我的MyAppLite解决方案中创建另一个项目,然后添加必要的源文件作为链接(使用解决方案资源管理器中的添加现有项>添加为链接)

我绝对不想保留两份源代码


仅供参考,这是一个使用VS2008的.NET 2.0 VB应用程序。

您可以重构您的项目,使其在
MyAppCore
项目中保留通用功能,并从
MyApp
MyAppLite
中引用。核心dll将包含所有通用功能,并采用关于允许什么和限制什么的参数,因此lite版本中的一组功能是可定制的(假设您有一个客户,确实希望预览某个功能).

您可以创建一个新类库,以包含两个项目共有的表单。创建新项目并将表单从原始项目复制到新类库中。然后可以将类库导入原始项目(删除表单的原始版本后)和MyAppLite版本。如果您需要更改表单,请在类库中进行更改,然后重新编译应用程序

谢谢-您已经测试过这个概念,看起来应该可以正常工作。然而,在这方面我做了比我想做的更多的工作(在这个阶段不应该重构项目),但我认为我可以接受它。