Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以从Windows 10 UWP应用程序中引用.NetStandard库吗?_C#_.net_Windows 10 Universal_Portable Class Library - Fatal编程技术网

C# 我可以从Windows 10 UWP应用程序中引用.NetStandard库吗?

C# 我可以从Windows 10 UWP应用程序中引用.NetStandard库吗?,c#,.net,windows-10-universal,portable-class-library,C#,.net,Windows 10 Universal,Portable Class Library,有大量的帖子、博客、文章等。。。解释关于.Net/.NetCore/.NetStandard的所有这些令人困惑的东西,我已经读了很多 问题是,我有一个Windows10UWP应用程序,我需要引用我创建的库。我首先创建了一个NetCore库,但我无法从我的UWP应用程序中引用它(这很令人困惑,因为UWP使用.Net Core,但我创建的.Net Core库假设这是用于ASP.Net的?) 因此,我尝试将该库创建为PCL库,并仅针对Windows 10 UWP(它会强制您使用Windows 8.1,

有大量的帖子、博客、文章等。。。解释关于.Net/.NetCore/.NetStandard的所有这些令人困惑的东西,我已经读了很多

问题是,我有一个Windows10UWP应用程序,我需要引用我创建的库。我首先创建了一个NetCore库,但我无法从我的UWP应用程序中引用它(这很令人困惑,因为UWP使用.Net Core,但我创建的.Net Core库假设这是用于ASP.Net的?)

因此,我尝试将该库创建为PCL库,并仅针对Windows 10 UWP(它会强制您使用Windows 8.1,因为它们是相同的)。有了这种类型的库,我相信我可以从我的UWP应用程序中引用它,但它导致我丢失了太多无法构建库的.Net名称空间

最后,我在项目属性中选择了指向.Net标准的链接。我选择了.Net标准1.4,突然间,我拥有了我所需要的所有名称空间,并且我能够构建我的库。我还能够成功地将其添加为我的UWP应用程序的参考

然而,我得到了以下6个例外,他们没有告诉我太多的根本原因,所以我可以修复它

所以,我的主要问题是,您能否在UWP应用程序中引用.Net标准1.4库?第二,你知道这些例外意味着什么吗

谢谢


编辑-我在这里上传了两个csproj文件:

好的,我找到了答案,但主要是基于这个答案,我在发布我的问题之前没有看到这个答案,因为搜索词(我确实花了一天多的时间搜索并试图找到答案)

以下是总结:

  • .NetStandard 1.4受UWP支持

  • 默认情况下,UWP项目的VS 2015 Update 3模板导入Microsoft.NetCore.UniversalWindowsPlatform 5.1.0版。我确信VS 2017模板将以一个更新的版本开始,5.1.0已经相当旧了。因此,根据上面链接的答案,我更新了(使用NuGet)到VS 2015更新3允许的最新版本,在回答这个问题时,版本是5.2.3。有一个5.3.x版本,但它需要VS2017

  • 最后,我修改了UWP项目中的project.json以导入netstandard1.4框架。看起来是这样的:

    "frameworks": {
      "uap10.0": {
        "imports": "netstandard1.4"
      }    
    
  • 通过这些简单的步骤,我可以构建UWP项目,消除上面的6个错误


    希望这有帮助

    如果可能,请包括UWP项目和库的.csproj。一个.NET核心类库只能由.NET核心应用程序使用,目前只能由控制台应用程序和web应用程序使用。UWP恰好激发了.NET核心开发,并共享了一些工具(如NuGet/project.json)。但是,UWP仅限于Windows,不属于.NET核心的一部分。PCL已成为过去,因此对此不予评论。唯一的问题是为什么NuGet包会触发错误。@ScottChamberlain我添加了一个指向csproj文件的链接。谢谢你关注这个,这一切都很混乱。请注意,UWP应用程序是我集成的一个测试实用程序,因此它非常轻,应该有助于消除此问题的原因。谢谢此外,您似乎无法从UWP应用程序中引用.Net标准1.4。我之所以形成这种假设,是因为我创建了一个全新的类库,将其转换为.Net Standard 1.4,然后尝试从我的UWP应用程序中引用它,我得到了与我在OP中截图中相同的6个错误。这个类库中绝对没有代码,它仅有的两个引用是我创建类库时创建的两个,Microsoft.NetCore.Portable.Compatibility和NetStandard.Libarary。