xamarin.forms - 无法理解如何引用共享库 Xamarin
问题描述
我开始使用 Xamarin 的新版本,因为现在分配给 2017 年的生产似乎更加稳定,但是我面临一个问题,即我在共享库中有我的 Web 客户端调用。
我想在标准表单主详细信息应用程序模板中引用它,但是当我右键单击我的表单应用程序时没有添加引用,所以我的问题是如何在我的 Xamarin 表单应用程序中引用 FuelWc 类。
这是我上面的项目
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FuelCallLogDLCore\FuelCallLogDLCore.csproj" />
</ItemGroup>
</Project>
此代码是属于 Xamarin 表单的主应用程序的代码,其中包含视图等。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<None Remove="appsettings.json" />
</ItemGroup>
<ItemGroup>
<Content Include="appsettings.json">
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.2" />
</ItemGroup>
<ItemGroup>
<Reference Include="System">
<HintPath>System</HintPath>
</Reference>
</ItemGroup>
</Project>
所以我的主要问题是:我到底如何引用共享库中的代码?
通常我会添加引用然后使用标准启动对象
Test1 _test = new Test1();
但是因为我无法引用 dll,所以我很茫然。
解决方案
在跨平台应用程序之间共享代码有三种替代方法:
共享项目——使用共享资产项目类型来组织您的源代码,并根据需要使用#if 编译器指令来管理特定于平台的要求。
可移植类库——创建一个以您希望支持的平台为目标的可移植类库 (PCL),并使用接口来提供特定于平台的功能。
.NET 标准库——.NET 标准项目的工作方式与 PCL 类似,需要使用接口来注入特定于平台的功能。
来源:官方文档
我强烈建议您熟悉这些方法之间的差异,这样您就可以自己决定哪些方法适合您的具体情况。
推荐阅读
- excel - 当协调组合的数量未知时,协调两个数据集/集合
- visual-studio - 如何将 ZeroMQ 导入 Unity 引擎?
- javascript - 用 momentjs 和 range 计算加班时间
- java - Java 输出下划线的逻辑错误
- python - os.walk() 错误 - 太多值无法解压
- python-3.x - Selenium 在 iframe 中查找登录字段时不一致
- python - 如何计算numpy数组的所有非对角元素的abs之和?
- unity3d - String.Format 显示来自 SerializeField 数据的旧实例数据 - 如何修复?
- c - 在 AtMega32U4 中生成 PWM 脉冲的代码
- asp.net - ASP.NET postgresql NpgsqlDbType.Bit 不支持 BitArray?