C# 如何对不同版本的.NET只拥有一个项目?
嗯,我有一个项目,目前我正在使用.NET 4.0,因为我希望这个应用程序与windows XP兼容,因为EF 5.0仅适用于windows 7及更高版本 但是,我想用.NET4.5的特性实现应用程序的某些部分,例如EF5.0 因此,对于我的数据库访问,我有一个reposotry类,现在使用EF 4.0,这是一个独立的dll,因此我可以创建其他使用EF 5的存储库dll,并在我的项目中导入两个dll,然后根据我可以使用的EF 5.0版本实例化正确的存储库。这是配置文件中的参数。这是最好的方式吗 我问这个问题是因为我不知道我必须在哪里声明我的接口。因为我的存储库类需要实现这个接口,但是这将我的DLL绑定到我的应用程序,但是我需要在两个不同的应用程序中使用这个存储库,所以我想实现一次,并在许多应用程序中使用。我想要独立的DLL,因为现在有两个应用程序,但将来可以更多 希望在使用存储库的应用程序中使用接口的原因是,我希望在运行时根据配置文件设置实例化正确的存储库。因此,在未来,我可以实现新的存储库,而无需更改代码 EDIT1:我读过关于多目标的文章,但是如果在我的项目中我使用了一些功能,例如.NET 4.0,并且我想比较3.5,我会得到一个错误,因为3.5中不存在这个功能。没错。那么唯一的办法就是维持两个不同的项目?这将是一项双重工作 谢谢。 戴姆洛克 所以对于我的数据库访问,我有一个reposotry类,现在使用EF 这是一个独立的dll,因此我可以创建其他使用EF 5的存储库dll,并在我的项目中导入这两个dll,然后我可以 根据EF 5.0的版本实例化正确的存储库 我可以用。这是配置文件中的参数。是这个吗 最好的办法 你可以走这条路,我不认为这有什么问题,除非你认为这会在将来引起维护/开发方面的麻烦。你还可以考虑做一些其他事情。我认为两者都是完全正确的,可能只是个人的意见/偏好C# 如何对不同版本的.NET只拥有一个项目?,c#,entity-framework,C#,Entity Framework,嗯,我有一个项目,目前我正在使用.NET 4.0,因为我希望这个应用程序与windows XP兼容,因为EF 5.0仅适用于windows 7及更高版本 但是,我想用.NET4.5的特性实现应用程序的某些部分,例如EF5.0 因此,对于我的数据库访问,我有一个reposotry类,现在使用EF 4.0,这是一个独立的dll,因此我可以创建其他使用EF 5的存储库dll,并在我的项目中导入两个dll,然后根据我可以使用的EF 5.0版本实例化正确的存储库。这是配置文件中的参数。这是最好的方式吗 我
public Person FindPersonByName(List<Person> people, string name)
{
#if DOTNET_20
foreach(Person person in people)
{
if (person.Name == name)
return person;
}
return null;
#else
return people.FirstOrDefault(p => p.Name == name);
#endif
}
public Person FindPersonByName(列出人员,字符串名称)
{
#如果DOTNET_20
foreach(人对人)
{
if(person.Name==Name)
返回人;
}
返回null;
#否则
返回people.FirstOrDefault(p=>p.Name==Name);
#恩迪夫
}
我希望这对找到正确的解决方案有所帮助,并祝你好运
所以对于我的数据库访问,我有一个repostory c