我开始创建一个.NET Standard Library
我打算做NuGet
的-但后来发现我还需要特定于平台的功能。
因此,我发现了这个堆栈溢出问题-这表明我可以改用Multiplatform Library
模板。但是在这里,我遇到了DependencyService问题-以及问题Custom Renderer
-有效地意味着,非平台特定的库无法与平台特定的代码进行通信。
我还尝试编辑csproj文件,例如:A,B,C。并通过使用以下csproj:
<Project Sdk="MSBuild.Sdk.Extras/2.0.29">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;Xamarin.ios10</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Xamarin.Forms" Version="4.1.0.581479" />
</ItemGroup>
</Project>
...生成以下解决方案:
但是,Class1
在中Xamarin.iOS
不能Xamarin.Forms.Platform.iOS
访问Visual Studio for Mac
。我最近检查了一下,发现它可以Visual Studio
在Windows上运行-使用相同的csproj。
有什么办法可以实现多目标Visual Studio for Mac
?
编辑1:我发现了一个问题,在MSBuild.Sdk.Extras
GitHub上导致这一职务。看来可以安装一个扩展名为DotNetCoreSupportAnyTargetFramework.DotNetCoreSupportAnyTargetFramework_1.0
。但是它不会在VSfM 8.1.5中正确安装:
在较旧的VSfM中进行尝试,我无法打开项目或创建新项目-因此无法测试扩展是否有效。它可能与以下错误消息有关:
打开旧的VSfM时显示。
编辑2:更改顺序后,Xamarin.ios10
首先给出目标框架,即可以访问Xamarin.iOS和Xamarin.Forms.Platform.iOS,正如Matt Ward所述。
但是,我无法将对NetStandard库的引用添加到Xamarin.Forms项目中以实际测试该库:
并切换回首先放置netstandard:
项目/MyStandardLibrary/MyStandardLibrary/MyButtonRender.cs(12,12):错误CS0246:找不到类型或名称空间名称“ ExportRendererAttribute”(您是否缺少using指令或程序集引用?)(CS0246)(MyStandardLibrary)等。
当前版本的Visual Studio for Mac,v8.2不支持多目标。
根据Visual Studio for Mac路线图,Visual Studio for Mac v8.3中将提供多目标支持:
https://docs.microsoft.com/visualstudio/productinfo/mac-roadmap#2019-q3-july-september
编辑:您可以在以下位置关注团队在添加多目标支持方面的进展:https : //github.com/mono/monodevelop/pull/7848
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句