C# 如何避免普通库和通用库之间的重复?
我有一个由两部分组成的解决方案:C# 如何避免普通库和通用库之间的重复?,c#,.net,win-universal-app,windows-10-universal,C#,.net,Win Universal App,Windows 10 Universal,我有一个由两部分组成的解决方案: 普通Windows库(针对任何CPU窗口编译) 通用库(在Windows 10平台上编译) 这两个项目共享一组配置值,例如,因为它们通过套接字(端点的端口号)进行通信。所以我最终做了这个: // In Proj1/service.cs namespace Proj.Lib { public class Service { private string port = "6662"; } } // In Proj2/service.cs nam
- 普通Windows库(针对任何CPU窗口编译)
- 通用库(在Windows 10平台上编译)
// In Proj1/service.cs
namespace Proj.Lib {
public class Service {
private string port = "6662";
}
}
// In Proj2/service.cs
namespace Proj.UniversalApp {
public class Service {
private string port = "6662";
}
}
这两个项目基本上是针对不同的平台编译的,因此我无法将一个项目引用到另一个项目中,以避免端口上的冗余
对我来说,理想的解决方案是创建一个公共项目,该项目包含共同的变量,并在Proj1
(Proj.Lib
)和Proj2
(Proj.UniversalApp
)中引用它
如何创建?创建一个可移植类库(PCL),并使其针对您的项目所针对的两个平台。然后,您将能够引用公共项目/库
Visual Studio中的.NET Framework可移植类库项目类型
Studio帮助您为Microsoft构建跨平台应用程序和库
快速方便地搭建平台
可移植类库可以帮助您减少
开发和测试代码。使用此项目类型编写和生成
可移植的.NET Framework程序集,然后引用这些程序集
来自针对多个平台(如Windows)的应用程序的程序集
和Windows Phone
即使在Visual Studio中创建可移植类库项目之后
Studio并开始开发,您可以更改目标平台。
VisualStudio将使用新的程序集编译库,这些程序集
帮助您确定需要在代码中进行的更改