C# 如何确定哪些PCL配置文件包含我需要的库实现?
我想在我的可移植类库项目中调用Thread.Sleep。这个方法是在我的iOS和Android项目的Mono库中实现的,所以理论上,我应该选择一个兼容的PCL配置文件。然而,事实证明,这比应该的困难得多 如何确定哪些PCL配置文件包含我需要的库实现,以及如何告诉Visual Studio引用该特定配置文件C# 如何确定哪些PCL配置文件包含我需要的库实现?,c#,mono,xamarin.forms,portable-class-library,C#,Mono,Xamarin.forms,Portable Class Library,我想在我的可移植类库项目中调用Thread.Sleep。这个方法是在我的iOS和Android项目的Mono库中实现的,所以理论上,我应该选择一个兼容的PCL配置文件。然而,事实证明,这比应该的困难得多 如何确定哪些PCL配置文件包含我需要的库实现,以及如何告诉Visual Studio引用该特定配置文件 我还没有找到任何关于MSDN的文档,这些文档甚至承认存在PCL配置文件编号,更不用说如何选择一个特定的了。目前我唯一的选择是手动引用profile文件夹中的System.dll,但这感觉就像走
我还没有找到任何关于MSDN的文档,这些文档甚至承认存在PCL配置文件编号,更不用说如何选择一个特定的了。目前我唯一的选择是手动引用profile文件夹中的System.dll,但这感觉就像走进了一个雷区。任何帮助都将不胜感激。除非有人像搜索引擎一样在所有提供的PCL配置文件中编写一个实用程序,否则无法做到这一点 您对“此方法在我的iOS和Android项目的Mono库中实现”的描述显示了一些误解
- Profile7-.NET Framework 4.5和Windows 8.0
- Profile24-.NETFramework 4.5和Silverlight 5.0
- Profile47-.NET Framework 4.5、Silverlight 5.0和Windows 8.0
- Profile78-.NET Framework 4.5、Windows 8.0、Windows Phone Silverlight 8.0
- Profile158-.NET Framework 4.5、Silverlight 5.0、Windows 8.0、, Windows Phone Silverlight 8.0
- Profile255-.NET Framework 4.5、Silverlight 5.0、Windows 8.0& Windows Phone 8.1
- Profile344-.NET Framework 4.5、Silverlight 5.0、Windows 8.0、, Windows Phone 8.1、Windows Phone Silverlight 8.0
这根本不是PCL的工作方式。选择目标,然后找出支持的内容。选择任意的目标是没有意义的。有很多替代Thread.Sleep()的方法,您可以使用Task.Delay()或ManualResetEvent.WaitOne()。我绝对不理解PCL,非常感谢您提供的任何澄清。据我目前了解,VS all中的Xamarin.iOS和Xamarin.Android项目引用Mono库,所有PCL引用在链接过程中都被Mono替换。但是,我找不到关于构建过程中实际发生的事情的任何文档/解释。都是黑匣子。你能给我指一个描述Xamarin如何使用PCL构建跨平台应用程序的资源吗?添加了一个指向Xamarin的链接,并从中获得了更多信息。我熟悉Xamarin文档的那一页,但我正在寻找更技术性的内容。包含PCL引用和MonoTouch引用表示.NET framework的两个冗余实现。在构建过程中如何解决这种冗余?这两种实现都包括在内吗?一个被另一个取代了吗?这个技术细节可能会出现在像《CLR via C#》这样的书中。或者简单地假设代码是根据PCL配置文件编译的,而在运行时,实际类型来自Xamarin.iOS程序集。类型转发就是这个神奇的术语。有趣。因此,我的iOS项目中的MonoTouch引用实际上可能是类型转发到PCL。