【问题标题】:UWP - FileLoadExceptionUWP - FileLoadException
【发布时间】:2016-07-30 15:20:20
【问题描述】:

正如这里Cannot reference .NET Core library from UWP 所描述的,我收到了同样的异常。

Project.exe 中的“System.IO.FileLoadException”

UWP-项目文件

{
  "dependencies": {
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2",
    "Microsoft.Xaml.Behaviors.Uwp.Managed": "1.1.0",
    "Newtonsoft.Json": "9.0.1",
    "Template10": "1.1.11"
  },
  "frameworks": {
    "uap10.0": { "imports": "netstandard1.6" }
  },
  "runtimes": {
    "win10-arm": {},
    "win10-arm-aot": {},
    "win10-x86": {},
    "win10-x86-aot": {},
    "win10-x64": {},
    "win10-x64-aot": {}
  }
}

.Net-Core 项目文件

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.0"
  },

  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  }
}

另外一件奇怪的事情是这样的:

备注

对于我的Core-Dll,我没有制作了一个 Nuget 包,而是像过去一样引用它。

这个项目没什么特别的。我使用了Template 10 pack 并通过 Nuget 更新了所有包。

在不引用我自己的 .dll 的情况下,一切正常,不会出现任何错误。

我真的必须为我将要开发的所有东西制作一个包,并希望在单独的 .dll 中获取资源吗?

【问题讨论】:

  • 您是否碰巧找到了解决方案?

标签: c# win-universal-app uwp .net-core


【解决方案1】:

UWP 不支持 netstandard1.6。只有netstandard1.4是。如果要在 UWP 中使用,请确保类库面向 netstandard1.4。

当您将 "imports": "netstandard1.6" 添加到 UWP 项目时,您正在声明您不关心兼容性规则,并且您将尝试使用 netstandard1.6 资产,即使它不受你的框架。

【讨论】:

  • 所以基本上你的意思是,我不能将 UWP 与 .NET Core 1.0 一起使用?但这与我可以使用此框架编译 UWP-App 的事实不符:"frameworks": { "uap10.0": { "imports": "netstandard1.6" } },
  • .NET Core 1.0 也支持 netstandard1.4,所以如果你构建一个 netstandard1.4 的可移植库,它可以在两者中工作。我会重申,使用“进口”并不构成支持。这只是告诉 NuGet 你想试试看它是否有效。 NuGet 将首先尝试从支持您所针对的框架 (uap10.0) 的包中找到正确的资产,只有当它没有找到任何支持的资产时才会考虑导入的框架。您可以将 anything 放入导入中,包括 net46,例如,它允许您使用依赖于 WPF 的库。
  • 如果您还可以为此提供解决方法作为答案,我会非常很高兴,因为我无法在 Visual Studio 中选择 NETStandard 1.4 作为降级。我也无法在 Nuget-Web 上找到它。为了澄清:我只是在玩 UWP 并想,嘿,让我们试试 .Net Core 所以这是一个微不足道的游戏项目
猜你喜欢
  • 2018-09-08
  • 1970-01-01
  • 2012-08-24
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
  • 2014-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多