我正在尝试使用VS2015来创建某种统一的开发框架。
整个意识形态是将代码统一到一个针对.net 4.5,aspnet50和aspnet50core的项目中(尽可能)。
其中一个基接口应定义:
如下:
public interface
{
#if ASPNET50
System.Data.Common.DbConnection GetConnection();
#endif
#if NET45
System.Data.IDbConnection GetConnection();
#endif
}
我已将project.json
更新为:
"frameworks": {
"net45": {
"dependencies": {
}
}
"aspnet50": {
"dependencies": {
"System.Data.SqlClient": "1.0.0-beta2"
}
}
}
我唯一的选择就是将System.Data.Common
引用到.net 4.5 dependencies
(但由于它不是为支持.net 4.5而构建的,因此无效)。
如果我尝试引用"System.Data": "4.0.0.0"
或甚至没有版本号,VS2015无法解析为gac而无法识别引用。
有什么希望吗?
答案 0 :(得分:1)
通常你会看到如下设置:
在每个项目中,您可以定义一个符号(例如ASPNET5
,NET45
)。然后每个都将引用对该构建重要的程序集。此外,您可以在两个项目中包含公共文件(在这些文件中使用每个项目中的符号来区分代码),但您也可以打破特定于版本的功能的实现(例如,仅包含Class1.NET45.cs)在NET45项目中)