asp.net-core - 引用UWP和ASP.NET 5中的类库

标签 asp.net-core uwp project.json

我正在尝试创建一个类库,其中将包含WebAPI(使用ASP.NET 5)和消耗性UWP App的通用对象(主要是DTO)。但是,我还没有弄清楚如何创建类库,以便可以从其他两个项目中引用它。

到目前为止我已经尝试过:
首先,我尝试了一个类库(包),可以在Web下找到它。可以从ASP.NET项目中毫无问题地引用这种类型的库,但是当尝试从UWP项目中引用它时,我得到以下消息:

A reference to 'ClassLibrary1' could not be added. 

接下来,我尝试了一个类库(Windows Universal),可以在Windows> Universal下找到它。这可以很容易地从UWP项目中引用,但是当尝试从ASP.NET引用时,我得到:
The following projects are not supported as references : 

  - The project ClassLibrary2 has a target framework that is incompatible or has version higher than the current project and cannot be referenced.

因此:如何创建可在ASP.NET 5项目和UWP项目中使用的类库?

最佳答案

.Net Standard class library应该被认为是可移植类库的后继者。两者都旨在促进在不同的.Net平台之间共享代码(在这种情况下为模型对象/DTO)。

在Visual Studio 2017中,您现在可以选择.Net Standard类库模板。可以将此类库设置为针对.Net Standard的不同版本。您应该针对的.Net Standard版本取决于您希望在哪个.Net平台之间共享代码。

对于此特定问题,我们希望支持通用Windows平台(UWP)应用程序和Asp.Net Core应用程序。因此,我们应该引用此compatibility table来确定将支持这两个平台的.Net Standard版本。在这种情况下,它将是.Net Standard 1.4。一旦将类库设置为以.Net Standard 1.4为目标,就可以从UWP和Asp.Net核心项目中添加对类库的引用。

为了更好地理解什么是.Net标准以及它如何促进代码共享,我建议您阅读以下内容:

  • Introducing .NET Standard
  • Video Series on .NET Standard(这特别好)
  • .Net Standard FAQ
  • 关于asp.net-core - 引用UWP和ASP.NET 5中的类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34028887/

    相关文章:

    asp.net-core - Blazor 服务器、使用 OpenIdDict 的 API 和使用内省(introspection) - 如何处理访问 token ?

    xaml - UWP , 制作 2 动画需要什么技能?

    c# - INotifyPropertyChanged 不适用于 ObservableCollection<Class> 中的类

    asp.net-core - postman 中的"Could not get any response"

    asp.net-core - 从 root 以外的地方提供 favicon.ico

    c# - 链 ContinueWith 任务

    c# - EmguCV 和 UWP - 无法解析程序集或 Windows 元数据文件 'System.Windows.Forms.dll' (Emgu.CV.UI)

    project - 如何使用 project.json (.xproj) 在项目中设置默认命名空间

    .NET 核心 RC2 : use local fork of a package

    c# - 无法还原 ASP.NET Core 1.0 RTM 解决方案