我希望编写一个可以在许多目标上运行的库,例如WPF,Windows Phone / Mobile,Mono和ASP.NET。我一直在搜索有关这方面的信息,但似乎在ASP.NET中不支持PCL?
甚至VS表示PCL不能与ASP.NET一起使用:
那么我该怎么做才能编写一个在所有平台上运行的PCL?将PCL用于除ASP.NET之外的所有内容,并为ASP.NET创建一个普通的类库,并基本上复制+粘贴代码?
答案 0 :(得分:8)
简短的回答是肯定的,只要PCL配置文件支持您的MVC应用程序所针对的相同的.NET框架版本,您就可以了。
创建可移植类库时,可以选择希望代码运行的平台组合。您在创建可移植类库时所做的兼容性选择被转换为" Profile“标识符,该标识符描述了库支持的平台。
可能让您感到困惑的是,在支持的软件框架(平台)列表中没有提到ASP.NET。原因是ASP.NET不是真正的软件框架,而是应用程序框架(更高级别)。这意味着无论应用程序框架以PCL支持的软件框架为目标,应用程序框架也将起作用。
在创建新PCL项目时选择支持的平台时一定要格外小心,因为可用于该项目的API取决于该选择!
您可以阅读有关便携式类库on MSDN的更多信息。