2016-10-20 109 views
-1

我有一个遗留项目(用.Net 2.0编写和编译),它很庞大,很多其他项目都引用它。计划停止使用它,但这需要一些时间。我想介绍该项目的新版本,其中将引入任何新的功能,并将引入.NET 4.5.1。 我想保留旧项目的所有旧功能,只能从新的Project2中访问。不需要从.Net 2.0转换旧的项目,而无需在Project2已被引用时引用Project1 dll。将.Net 4.5项目包装在.NET项目中

我知道为.NET编译的项目低于4.5.1将无法引用Project2(因为.net不兼容性较高),Project2是创建用于放弃遗留代码的新世界的一部分。

我该如何做到这一点?目前我继承了所有的公共类(其中约150个),但它仍然可行,但我仍然需要引用旧项目的dll。

+1

你不能因为你说。 –

回答

1

您可以创建一个中介组件,它引用了您的旧组件并且它是较新的替代品。然后从任何未来的项目中,它都可以参考中介组件。这将允许您按自己的步调工作,以便在新程序集中的功能中慢慢替换旧程序集中的功能,同时不影响引用它的更高级代码。

+0

嗯,就像这两者之间的桥梁......我会检查。我认为也许有一些魔术技术可以让我实现我的目标,但我不知道它,但正如我们所看到的那样,有生命,而不是魔术。 – Vilo

0

如何:

  1. 创建一个新的解决方案
  2. 项目添加到该解决方案,并设置其.NET版本2(项目1)
  3. 添加另一个项目,该解决方案和集它的.Net版本到4.5(项目2)
  4. 哟可以通过添加'Existing Items'并确保您将它们添加为链接,将项目1中的类(源代码文件)添加到项目2中(单击向下箭头在打开文件对话框中的“添加”按钮上)。或者您也可以将代码复制文件到项目2(复制码)

每个项目都将有不同的DLL名称,可以在不同的版本

+0

对于链接的项目,我认为仍然需要与新项目并行地引用链接的DLL。是的,我们不希望代码复制。 – Vilo

+0

也请看看这个:https://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx – Sparrow

+0

谢谢,但版本控制完全没有问题,所有.Net上面2.0可以使用2.0版本中的大部分内容。问题是关于从用户隐藏Project1。 – Vilo