如果我有一个.NET 4.5和Windows Store的便携类,我可以使用DllImport。但是,当我添加WP8时,它已不再可用,即使WP8支持DllImport。发生了什么事?
答案 0 :(得分:4)
仅仅因为您可以在C#WP8项目中添加[DllImport ...]
并不意味着它受到支持。
private void Button_Click_1(object sender, RoutedEventArgs e)
{
var v = GetCurrentThread();
}
[DllImport("kernel32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetCurrentThread();
...将在WP8中提供NotSupportedException
。即使MSDN says that this is a supported Win32 API for WP8.
这也可以解释为什么你失去了在PCL中使用DllImport
的能力......