【问题标题】:Xamarin.Forms - Reference UWP Class Lib Project type with 3rd party dll lib from UWP head projectXamarin.Forms - 使用来自 UWP 头项目的第 3 方 dll 库引用 UWP 类库项目类型
【发布时间】:2019-10-05 06:08:35
【问题描述】:

我的 Xamarin.Forms 解决方案包含 3 个适用于 Android、iOS 和 UWP 的头部项目。

我还有一个 Windows 通用类库项目 MyUWPClassLib,它在其依赖项部分中包含一个第 3 方 .NET 库,例如。这不是 Nuget,而只是我们从供应商处使用的第 3 方库):

|-- MySolution.sln
  |-+ MyDroid
  |-+ MyiOS
  |-+ MyUWP
    |-ClassA (cannot reference to 3rdPartyNETLib)
  |-- MyUWPClassLib
    |-- Dependecies
      |-+ 3rdPartyNETLib

我有两个问题:

  1. 3rdPartyNETLib 以上是通过右键单击 Dependencies 添加的 MyUWPClassLibt > Add Reference > Browse > 浏览到硬盘驱动器上的库并选择它以添加它。但这只是复制文件路径,将我的本地驱动器 Windows 文件路径留在 .csproj 中。显然,这是一个问题,因为这不是其他人将拥有的路径,尤其是在 MacOS 上。我该如何解决这个问题?我没有看到“嵌入式资源”之类的东西?
  2. 我想从 MyUWP 项目中引用我的 3rdPartyNETLib,但我不知道该怎么做。我可以从 MyUWPClassLib 中引用它,但不能从 MyUWP 头项目中引用它。我尝试在 MyUWP 中添加对 MyUWPClassLib 的引用,但这仍然不允许我引用 MyUWPClassLib 中的库。我该怎么做?

阅读这方面的 MS 文档(https://docs.microsoft.com/en-us/visualstudio/ide/how-to-add-or-remove-references-by-using-the-reference-manager?view=vs-2019 也不是很有帮助

【问题讨论】:

  • 您是否已将第三个库添加到您的解决方案中?如果是这样,您可以在参考经理的“项目”或“共享项目”选项卡中找到它。
  • @LandLu-MSFT 如果这就是你的意思,我在上面的 1 下解释过。您介意详细说明一下吗,我提供了所有信息,我做了什么以及我是如何做的,但我不确定我做得对。谢谢

标签: xamarin.forms xamarin.uwp


【解决方案1】:

要解决#1,我认为唯一的方法是向项目添加一个新文件夹,如“Libs”文件夹,然后将第三个部分库(注意这不是 Nuget 包)复制到这个新文件夹中。然后在 VS 中,右键单击 Libs 文件夹 > 添加 > 现有项目并导航到 3rd 方库。这将在您的项目结构中显示该库。

为了解决 #2,我无法解决,我们只是将类移至 MyUWPClassLib,然后能够从那里的这些类中引用 3rdPartyNETLib。

所以,项目现在看起来像:

|-- MySolution.sln
  |-+ MyDroid
  |-+ MyiOS
  |-+ MyUWP
  |-- MyUWPClassLib
    |-+ Dependecies
    |-- Libs
      |-+ 3rdPartyNETLib
    |--ClassA (now can reference 3rdPartyNETLib)

【讨论】:

    猜你喜欢
    • 2019-06-26
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 2016-11-22
    • 2019-04-20
    • 1970-01-01
    相关资源
    最近更新 更多