String.Copy 在 Xamarin PCL 项目中不可用?
String.Copy not available in Xamarin PCL project?
根据 documentation 应该有一个静态 String.Copy 方法可用。但是它在我的设置中不可用:
这是有关所有已安装版本的详细信息:
=== Visual Studio Community 2017 for Mac ===
Version 7.0.1 (build 24) Installation UUID:
fda7d9c6-ac7a-446b-895c-2823b983c917 Runtime: Mono 5.0.1.1
(2017-02/5077205) (64-bit) GTK+ 2.24.23 (Raleigh theme)
Package version: 500010001
=== NuGet ===
Version: 4.0.0.2323
=== .NET Core ===
Runtime: /usr/local/share/dotnet/dotnet SDK:
/usr/local/share/dotnet/sdk/1.0.3/Sdks MSBuild SDKs:
/Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/msbuild/15.0/bin/Sdks
=== Xamarin.Profiler ===
Version: 1.5.4 Location: /Applications/Xamarin
Profiler.app/Contents/MacOS/Xamarin Profiler
=== Xamarin.Android ===
Version: 7.3.1.2 (Visual Studio Community) Android SDK:
/Users/milen/Library/Developer/Xamarin/android-sdk-macosx Supported
Android versions:
4.4 (API level 19)
7.1 (API level 25)
SDK Tools Version: 25.2.5 SDK Platform Tools Version: 25.0.4 SDK Build
Tools Version: 25.0.3
Java SDK: /usr java version "1.8.0_111" Java(TM) SE Runtime
Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM
(build 25.111-b14, mixed mode)
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
=== Xamarin Inspector ===
Version: 1.2.2 Hash: b71b035 Branch: d15-1 Build date: Fri, 21 Apr
2017 17:57:12 GMT
=== Apple Developer Tools ===
Xcode 8.3.3 (12175.1) Build 8E3004b
=== Xamarin.iOS ===
Version: 10.10.0.36 (Visual Studio Community) Hash: d2270eec Branch:
d15-2 Build date: 2017-05-22 16:30:53-0400
=== Xamarin.Mac ===
Version: 3.4.0.36 (Visual Studio Community)
=== Build Information ===
Release ID: 700010024 Git revision:
7ab1ca2ced6f584e56b7a0d4d321d00775cd95c9 Build date: 2017-05-19
05:44:51-04 Xamarin addins: 08d17158f3365beee5e60f67999e607cce4b3f93
Build lane: monodevelop-lion-d15-2
=== Operating System ===
Mac OS X 10.12.5 Darwin 16.6.0 Darwin Kernel Version 16.6.0
Fri Apr 14 16:21:16 PDT 2017
root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64
代码在 PCL 中,配置文件如下:
我找不到关于此类问题的任何信息。可能是什么原因?
就像 Jimbot 在评论中所说的那样,String.Copy
在 Windows Phone 和 UWP 上不可用,也许它在其他一些平台上也不可用。使用 PCL 意味着您将仅获得库中与所有选中平台相交的部分的支持。
所以在你的截图中,一个方法必须在你在那里检查过的所有平台上都可用。如果该方法在其中一个上不可用,那么您将无法访问它。这就是 PCL 的工作方式。在 Xamarin 文档 here.
中阅读更多相关信息
克服这个问题:
- 要么找到另一种方法来使用您可用的方法
- 取消选中不受支持的平台,注意你也将失去 运行 你的应用程序在该平台上的能力,你需要做大量研究哪些平台支持
String.Copy
以及哪些一个没有
- 使用 Shared project.
根据 documentation 应该有一个静态 String.Copy 方法可用。但是它在我的设置中不可用:
这是有关所有已安装版本的详细信息:
=== Visual Studio Community 2017 for Mac ===
Version 7.0.1 (build 24) Installation UUID: fda7d9c6-ac7a-446b-895c-2823b983c917 Runtime: Mono 5.0.1.1 (2017-02/5077205) (64-bit) GTK+ 2.24.23 (Raleigh theme)
Package version: 500010001
=== NuGet ===
Version: 4.0.0.2323
=== .NET Core ===
Runtime: /usr/local/share/dotnet/dotnet SDK: /usr/local/share/dotnet/sdk/1.0.3/Sdks MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/msbuild/15.0/bin/Sdks
=== Xamarin.Profiler ===
Version: 1.5.4 Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Xamarin.Android ===
Version: 7.3.1.2 (Visual Studio Community) Android SDK: /Users/milen/Library/Developer/Xamarin/android-sdk-macosx Supported Android versions: 4.4 (API level 19) 7.1 (API level 25)
SDK Tools Version: 25.2.5 SDK Platform Tools Version: 25.0.4 SDK Build Tools Version: 25.0.3
Java SDK: /usr java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
Android Designer EPL code available here: https://github.com/xamarin/AndroidDesigner.EPL
=== Xamarin Inspector ===
Version: 1.2.2 Hash: b71b035 Branch: d15-1 Build date: Fri, 21 Apr 2017 17:57:12 GMT
=== Apple Developer Tools ===
Xcode 8.3.3 (12175.1) Build 8E3004b
=== Xamarin.iOS ===
Version: 10.10.0.36 (Visual Studio Community) Hash: d2270eec Branch: d15-2 Build date: 2017-05-22 16:30:53-0400
=== Xamarin.Mac ===
Version: 3.4.0.36 (Visual Studio Community)
=== Build Information ===
Release ID: 700010024 Git revision: 7ab1ca2ced6f584e56b7a0d4d321d00775cd95c9 Build date: 2017-05-19 05:44:51-04 Xamarin addins: 08d17158f3365beee5e60f67999e607cce4b3f93 Build lane: monodevelop-lion-d15-2
=== Operating System ===
Mac OS X 10.12.5 Darwin 16.6.0 Darwin Kernel Version 16.6.0 Fri Apr 14 16:21:16 PDT 2017 root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64
代码在 PCL 中,配置文件如下:
我找不到关于此类问题的任何信息。可能是什么原因?
就像 Jimbot 在评论中所说的那样,String.Copy
在 Windows Phone 和 UWP 上不可用,也许它在其他一些平台上也不可用。使用 PCL 意味着您将仅获得库中与所有选中平台相交的部分的支持。
所以在你的截图中,一个方法必须在你在那里检查过的所有平台上都可用。如果该方法在其中一个上不可用,那么您将无法访问它。这就是 PCL 的工作方式。在 Xamarin 文档 here.
中阅读更多相关信息克服这个问题:
- 要么找到另一种方法来使用您可用的方法
- 取消选中不受支持的平台,注意你也将失去 运行 你的应用程序在该平台上的能力,你需要做大量研究哪些平台支持
String.Copy
以及哪些一个没有 - 使用 Shared project.