1

我有一个从另一个 Xamarin.Forms .NetStandard 1.4 库引用的 .NetStandard 1.4 库。

第一图书馆:

{
  "supports": {},
  "dependencies": {
    "Microsoft.NETCore.Portable.Compatibility": "1.0.2",
    "NETStandard.Library": "1.6.1",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.1"
    "AutoMapper": "6.0.2",
    "Microsoft.AspNetCore.DataProtection": "1.1.1",
    "Microsoft.EntityFrameworkCore": "1.1.1",
    "System.Xml.XmlDocument": "4.3.0"
  },
  "frameworks": {
    "netstandard1.4": {}
  }
}

Xamarin.Forms 库:

{
  "supports": {},
  "dependencies": {
    "Microsoft.NETCore.Portable.Compatibility": "1.0.2",
    "NETStandard.Library": "1.6.1",
    "Xamarin.Forms": "2.3.4.231",
    "Xamarin.Forms.CarouselView": "2.3.0-pre2"
  },
  "frameworks": {
    "netstandard1.4": {
      "imports": "portable-net461"
    }
  }
}

IOS 工作正常。添加一些软件包后的Android也可以正常工作。我的问题是 UWP。它让我疯狂。这是 UWP project.json :

{
  "dependencies": {
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.3.2",
    "Xamarin.Forms": "2.3.4.231",
    "Xamarin.Forms.CarouselView": "2.3.0-pre2"
  },
  "frameworks": {
    "uap10.0": {}
  },
  "runtimes": {
    "win10-x86": {}
  }
} 

我有 4 个错误:

Resx 文件无效。Stream 不是有效的资源文件。Eella.Xamarin.Taxi.UWP C:\Users.....nuget\packages\Microsoft.AspNetCore.DataProtection.Abstractions\1.1.1\lib\netstandard1.3\Microsoft.AspNetCore.DataProtection.Abstractions.dll

.

Resx 文件无效。Stream 不是有效的资源文件。Eella.Xamarin.Taxi.UWP C:\Users....nuget\packages\Microsoft.AspNetCore.WebUtilities\1.1.1\lib\netstandard1.3\Microsoft.AspNetCore.WebUtilities.dll

.

一个或多个包与 UAP 不兼容,Version=v10.0 (win10-x86)。

.

Microsoft.Win32.Registry 4.3.0 为 UAP 上的 Microsoft.Win32.Registry 提供了编译时参考程序集,Version=v10.0,但没有与 win10-x86 兼容的运行时程序集。

我能做些什么 ?

更新

降级这两个包后,我的问题解决了,应用部署成功:

“Microsoft.AspNetCore.DataProtection”:1.0.2

“Microsoft.EntityFrameworkCore”:1.0.2

4

1 回答 1

1

这里可能发生两件事。首先,我会将导入行更改为

"imports": "portable-net45+win8+wpa81"

这使其与 Profile259 兼容。其次,由于 win10-x86 或其任何变体,我通常无法将包添加到我的 UWP 项目。

转到你的 UWP 项目中的 project.json 文件并删除所有运行时条目,这样你就剩下这个了。

{
  "dependencies": {
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.3.2",
    "Xamarin.Forms": "2.3.4.231",
    "Xamarin.Forms.CarouselView": "2.3.0-pre2"
  },
  "frameworks": {
    "uap10.0": {}
  },
  "runtimes": {
  }
} 

现在添加你的包。它应该工作。现在添加回运行时条目,您的项目应该仍然可以正常运行。

于 2017-04-15T01:46:10.623 回答