【发布时间】:2017-09-29 09:18:54
【问题描述】:
有大量的帖子、博客、文章等...解释了与 .Net/.NetCore/.NetStandard 相关的所有这些令人困惑的内容,我已经阅读了其中的许多内容。
这是问题所在,我有一个 Windows 10 UWP 应用,我需要引用我创建的库。我首先将该库创建为 NetCore 库,但我无法从我的 UWP 应用程序中引用它(这令人困惑,因为 UWP 使用 .Net Core,但我创建的 .Net Core 库假定这是用于 ASP.NET?)。
所以,然后我尝试将库创建为 PCL 库并仅针对 Windows 10 UWP(然后它会强制您使用 Windows 8.1,因为它们是相同的)。有了这种类型的库,我相信我可以从我的 UWP 应用程序中引用它,但它导致我丢失了太多无法构建库的 .Net 命名空间。
最后,我在项目属性中选择了链接,改为以 .Net 标准为目标。我选择了 .Net Standard 1.4,突然之间,我拥有了我需要的所有命名空间,并且能够构建我的库。我还能够成功地将其添加为对我的 UWP 应用的引用。
但是,我遇到了以下 6 个异常,它们并没有告诉我太多关于根本原因的信息,因此我可以修复它。
那么,我的主要问题是,您能否在您的 UWP 应用中引用 .Net Standard 1.4 库?其次,任何想法这些异常意味着什么?
谢谢!
编辑 - 我在这里上传了两个 csproj 文件:csproj files
【问题讨论】:
-
如果可能,请包含 UWP 项目和库的 .csproj。
-
一个 .NET Core 类库只能由 .NET Core 应用程序使用,目前只有控制台应用程序和 Web 应用程序。 UWP 恰好激发了 .NET Core 开发,并共享了一些工具(如 NuGet/project.json)。但是,UWP 仅适用于 Windows,不属于 .NET Core 的一部分。 PCL 已成为过去,因此不予置评。您唯一的问题是为什么 NuGet 包会触发错误。
-
@ScottChamberlain 我添加了指向 csproj 文件的链接。感谢您对此的关注,这一切都非常令人困惑。请注意,UWP 应用程序是我拼凑的一个测试实用程序,因此它非常轻巧,应该有助于消除导致此问题的原因。谢谢!
-
此外,您似乎无法从 UWP 应用程序引用 .Net Standard 1.4。我形成了这个假设,因为我创建了一个全新的类库,将其转换为 .Net Standard 1.4,然后尝试从我的 UWP 应用程序中引用它,我得到了与我的 OP 屏幕截图中相同的 6 个错误。这个库中绝对没有代码,它仅有的两个引用是我创建库时创建的两个引用,Microsoft.NetCore.Portable.Compatability 和 NetStandard.Libarary。
标签: c# .net windows-10-universal portable-class-library