我可以从我的 Windows 10 UWP 应用中引用 .NetStandard 库吗?
Can I reference a .NetStandard library from my Windows 10 UWP app?
有大量的帖子、博客、文章等...解释了所有与 .Net/.NetCore/.NetStandard 有关的令人困惑的内容,我已经阅读了其中的很多内容。
问题出在这里,我有一个 Windows 10 UWP 应用程序,我需要引用我创建的库。我首先将该库创建为 NetCore 库,但我无法从我的 UWP 应用程序中引用它(这令人困惑,因为 UWP 使用 .Net Core 但我创建的 .Net Core 库假设这是用于 ASP.NET?)。 =13=]
所以,然后我尝试将库创建为 PCL 库并仅针对 Windows 10 UWP(然后它会强制您使用 Windows 8.1,因为它们是相同的).有了这种类型的库,我相信我可以从我的 UWP 应用程序中引用它,但它导致我丢失了太多无法构建库的 .Net 命名空间。
最后,我在项目属性中选择了 link,改为以 .Net Standard 为目标。我选择了 .Net Standard 1.4,突然间,我拥有了我需要的所有可用命名空间,并且我能够构建我的库。我也能够成功地将其添加为对我的 UWP 应用程序的引用。
但是,我收到以下 6 个异常,它们没有告诉我太多有关根本原因的信息,因此我可以修复它。
所以,我的主要问题是,您能否在您的 UWP 应用中引用 .Net Standard 1.4 库?其次,知道这些异常是什么意思吗?
谢谢!
编辑 - 我已经在此处上传了两个 csproj 文件:csproj files
好的,我找到了那个答案,但它主要基于这个答案,由于搜索字词,我在发布问题之前没有看到这个答案(我确实花了一天多的时间搜索并试图找到答案)。
总结如下:
.UWP 支持 NetStandard 1.4。
默认情况下,UWP 项目的 VS 2015 Update 3 模板导入 Microsoft.NetCore.UniversalWindowsPlatform 版本 5.1.0。我确信 VS 2017 模板将从较新的版本开始,5.1.0 相当旧。因此,根据上面链接的答案,我更新(使用 NuGet)到 VS 2015 Update 3 允许的最新版本,在这个答案出现时,版本是 5.2.3。有一个 5.3.x 版本,但它需要 VS 2017.
最后,我修改了我的UWP项目中的project.json导入netstandard1.4框架。它看起来像这样:
"frameworks": {
"uap10.0": {
"imports": "netstandard1.4"
}
并且,通过这些简单的步骤,我可以构建 UWP 项目,并且上述 6 个错误消失了。
希望对您有所帮助!
有大量的帖子、博客、文章等...解释了所有与 .Net/.NetCore/.NetStandard 有关的令人困惑的内容,我已经阅读了其中的很多内容。
问题出在这里,我有一个 Windows 10 UWP 应用程序,我需要引用我创建的库。我首先将该库创建为 NetCore 库,但我无法从我的 UWP 应用程序中引用它(这令人困惑,因为 UWP 使用 .Net Core 但我创建的 .Net Core 库假设这是用于 ASP.NET?)。 =13=]
所以,然后我尝试将库创建为 PCL 库并仅针对 Windows 10 UWP(然后它会强制您使用 Windows 8.1,因为它们是相同的).有了这种类型的库,我相信我可以从我的 UWP 应用程序中引用它,但它导致我丢失了太多无法构建库的 .Net 命名空间。
最后,我在项目属性中选择了 link,改为以 .Net Standard 为目标。我选择了 .Net Standard 1.4,突然间,我拥有了我需要的所有可用命名空间,并且我能够构建我的库。我也能够成功地将其添加为对我的 UWP 应用程序的引用。
但是,我收到以下 6 个异常,它们没有告诉我太多有关根本原因的信息,因此我可以修复它。
所以,我的主要问题是,您能否在您的 UWP 应用中引用 .Net Standard 1.4 库?其次,知道这些异常是什么意思吗?
谢谢!
编辑 - 我已经在此处上传了两个 csproj 文件:csproj files
好的,我找到了那个答案,但它主要基于这个答案,由于搜索字词,我在发布问题之前没有看到这个答案(我确实花了一天多的时间搜索并试图找到答案)。
总结如下:
.UWP 支持 NetStandard 1.4。
默认情况下,UWP 项目的 VS 2015 Update 3 模板导入 Microsoft.NetCore.UniversalWindowsPlatform 版本 5.1.0。我确信 VS 2017 模板将从较新的版本开始,5.1.0 相当旧。因此,根据上面链接的答案,我更新(使用 NuGet)到 VS 2015 Update 3 允许的最新版本,在这个答案出现时,版本是 5.2.3。有一个 5.3.x 版本,但它需要 VS 2017.
最后,我修改了我的UWP项目中的project.json导入netstandard1.4框架。它看起来像这样:
"frameworks": { "uap10.0": { "imports": "netstandard1.4" }
并且,通过这些简单的步骤,我可以构建 UWP 项目,并且上述 6 个错误消失了。
希望对您有所帮助!