单个共享代码库在不同的.net版本之间共享

时间:2013-05-15 16:18:47

标签: .net-4.0 .net-2.0 versioning

在我深入了解之前,我环顾四周,看看是否有一个我要问的问题的例子。但是,假设我有一个指向.NET 2.0框架的代码库,我还需要保留它,但我还想创建一个指向4.0框架的项目的新版本。

是否可以创建解决方案,有两个项目,一个用于.NET 2.0,另一个用于.NET 4.0。在两者之间有一个“共享”代码库,知道这两个项目是否相同?

就像有一些cs,aspx和ascx文件我知道无论我使用什么版本都是一样的...我可以让它共享并让项目使用这些共享文件并将dll编译成版本控制我需要吗?

这样我就不必继续为两个版本的产品更新文件了;或者记住,如果将来达到这一点,我将不得不这样做。

使用新解决方案进行编辑

我决定用3个项目制作解决方案。 项目NET.2.0 项目NET.4.0 项目共享

共享项目将具有具有方法签名和实现的库类。其他两个项目将采用该dll引用,然后我将创建一个使用该共享库并对其进行相应调用的新类。

所以共享有一个类:

class A {
    public int _getInt(){
        return 12345;
    }
}

Project-NET.4.0

Using Project-Shared;

public class NewClassA : WebService {
    ClassA a = new ClassA();    

    [WebMethod]
    public int getInt(){
        return a._getInt();
    }
}

感谢Reed Copsey和Jon Skeet的帮助。如果您发现此解决方案存在任何问题,请告诉我。我认为这正是我所需要的,而我所要做的就是在“共享”项目的classA中更新_getInt的方法实现并编译它。

1 个答案:

答案 0 :(得分:1)

可以有两个项目,每个项目都包含相同的文件。将文件添加到项目时,在Visual Studio中,有一个add the item as a link选项,这会导致两个项目共享相同的源。

这可能是有利的,因为您可以拥有特定于框架的代码(不包括两个项目中的所有文件),但可以根据需要共享代码。